Good afternoon everyone. Welcome to our talk. My name is Sahiti Ailu. Here is my colleague Arun Krishnakumar. Both of us are engineers from VMware. Today we are going to share our experience on building cluster API infrastructure provider for a multi-tenant cloud platform. We will also be talking about few of the challenges that we have faced along the way. Lessons learned and discoveries made around few of the problems that we have identified that one could see in their environments and also design patterns around cluster API usage in multi-tenant cloud platform. Lastly, we will be covering on how we have actually built Kubernetes as a service layer with underlying technology of cluster API. With that, let's get started. So agenda for the first half of the talk, I will be covering on cluster API internals and will also be giving you some resources on how to get started with the implementation. For the second half, Arun will be covering on design patterns around cluster API usage in the context of multi-tenant cloud environment. And lastly, we'll be covering on Kubernetes as a service layer on multi-tenant cloud. Okay, before getting into the details of cluster API, I would like all of us to have a common understanding on what multi-tenant cloud is. So cloud basically delivers infrastructure as a service to its tenants in terms of compute, storage, networking, while providing strict isolation to its tenants and also the security. So then who are the tenants here? Tenants could be an end individual user, but in this particular case in our cloud platform, this multi-tenant cloud platform, which is VMware cloud director, that's our products name. So the tenant is an organization. It's an enterprise level company with group of users, and there can exist multiple organizations within this cloud platform. And these users can request for Kubernetes clusters. And this is the solution that we have built at large, that is a Kubernetes as a service engine on top of multi-tenant cloud platform with the underlying technology of cluster API. Okay, so what is cluster API? I'm going to quickly breeze through this slide. The cluster API is a Kubernetes project to bring declarative Kubernetes style APIs for cluster creation, configuration and management. So the idea here is that so end users would run these commands, which are kubectl, traditional, familiar commands to create the cluster on an existing cluster. So this existing cluster with cluster API components installed is what is called management cluster. And the children clusters that are created as a result are called workload clusters. So that's the difference between management and workload cluster. So management cluster is cluster with core CAPI components installed. And this is where API definitions of workload clusters are also defined and workload clusters are intended to host the modern workloads. Okay, so that's the end users point of view on what cluster API is. Now let's see the developers point of view on what cluster API is. So in simpler terms cluster cluster API is comprised of one main component that is core CAPI provider and three pluggable components infrastructure provider bootstrap provider and control plane provider. So all these providers have their own set of responsibilities to adhere to meet and few orchestration rules to adhere, which are dictated by the core CAPI provider. So at high level, the infrastructure provider responsibility is to create the necessary infrastructure required for the cluster on the chosen cloud environment. And this is what we are interested in for this talk. And bootstrap provider's responsibility is to generate a script that can convert any machine into a Kubernetes, either control plane or worker node. So the control plane provider's responsibility is to manage control plane nodes and deal with upgrades, etc. Okay, so the other idea here is that user would come in, apply a cluster manifest file on this management cluster and the resultant workload clusters get created on the chosen infrastructure provider. So for this talk, so this CAP VCD is what we have built cluster API provider for VMware cloud director and VCD is the acronym that stands for our multi tenant cloud platform that is VMware cloud director. Here is the sample CAPI manifest file. So cluster, so basically it's a hierarchical structure of API objects, and the cluster is at the root, it's the root element of the other objects and it holds owner refs to further objects associated with other other providers. Note these VCD cluster and VCD machine template custom resources, these are associated with our infrastructure provider that's CAP VCD and you'll be actually replacing those with whatever the infrastructure CRs that you'll be coming up for your infrastructure provider. So the sample CAPI manifest basically says I want to Kubernetes cluster with one control plane and one worker one worker node with so on so settings on so on so plus cloud provider. Let's go a bit deeper now to see how cluster API works. What enables smooth interplay of core CAPI and all the other providers that we have just talked about number one hierarchy of API objects and number two cluster API contract. So hierarchy of API objects, the diagram that you have seen here is the pictorial representation of what we have just seen in the previous slide. The cluster API manifest file and everything that's in blue here are custom resources associated with core CAPI and other providers and that are in green are associated with the infrastructure provider, which is of our interest. And when you apply that YAML file, this is how the resultant API object hierarchy is going to look like. And all of these resources are being watched by their associated controllers to bring so they are basically doing continuous reconciliation attempts to bring the their current state to the desired state. So similarly, we have these sorry. So we have these infrastructure and information objects that are created as a result. And these are also be are supposed to be watched by the respective controllers like infrastructure and information controllers. And this is what we are supposed to build as part of the cluster infrastructure provider. So these CRDs and their associated controllers at the minimum is what would make the infrastructure provider. Okay, so now that we have a fair understanding of what hierarchy of API object is going to look like. Let's understand cluster API contract. So as I've mentioned before, all these controllers from the providers are responsible to do certain things and all of these need to adhere to certain orchestration rules dictated by the main component that is core CAPI. And these controllers are supposed to interact with each other by variables called well known fields. And let's take an example of how cluster controller and how in infrastructure controller interact with each other in the sequence diagram. So both of these controllers are watching watching their associated CR custom resources here. So the cluster controller is the first one to act here. It sets the owner ref on the infrastructure. So basically it says I kind of own you that an infrastructure controller job from that point onwards is to create the basic infrastructure for the cluster creation to proceed further. Like it can create a load balancer on networking setup that's unique to your own cloud environments and it also need to ensure that control plan endpoint is either generator or specified by the user. So once the control plane endpoint is generated, it sets itself to as ready and then cluster controller would consume that control plane endpoint and marks itself ready and it generates the cube, configs secret so that end users can access begin to access the cluster. Okay. So information controller is mainly responsible for creating nodes. So in the previous slide what we have seen is infrastructure controller that was the one that created the basic infrastructure necessary for all of these controllers to proceed further and information controller. Main main job is to create the necessary infrastructure and at the same time bootstrap controller generates the necessary script to convert these machines into Kubernetes nodes. So bootstrap controller generates the bootstrap script and store set in a well known field in a data secret that is to be consumed by machine controller machine controller kind of copies it to another field, generated by information controller and information controller at this point provisions the necessary infrastructure using that bootstrap secret. Basically it takes out the cloud in its kit from that secret and runs it to convert the machine into a Kubernetes node, either control plane or worker node node. And if it's a control plane node, you would also see another controller in the picture that is KCP controller. So once that is all done information controller marks itself ready, and then machine controller also marks itself ready and it waits for the node to join the cluster. So the bottom line here is that again, the CRD is associated with these infrastructure machine and associated controllers would what make up the infrastructure provider and this is what we need to implement as cluster API infrastructure provider. Okay, so now that we have a fair understanding on how internals work, let's get started with the implementation and implementation should become relatively easy and it should all the understanding on the cluster API internals should also help you to debug and troubleshoot when things do not go as expected. We have used q builder command q builder to actually create the project layout and the scaffolding q builder is the framework that generates API Kubernetes APIs via custom resource definitions. And it will also generate a lot of boilerplate code for you. You can just jump in and implement the business logic. Okay, so now let's assume that we have build the infrastructure provider for your for your own cloud environments. Now so now how do we get these infrastructure provider implemented on the clock Kubernetes cluster. So basically we need to set up the management cluster and we can achieve that by cluster cut tool that helps setting up the management cluster and generating cluster manifest files. So this is the command that you need to run for your infrastructure VCD is our platform. So basically this command pulls the content from your GitHub repo and installs those components on the management cluster. So what this also means that you will have to update or edit cluster cut all code to include your infrastructure provider as list in as part of the huge list of other providers that cluster cut all currently supports. And these are cluster cut all generate commands to generate the sample cluster API manifest which you can run on the management cluster to create workload clusters. And next. Okay, so now we have this management cluster fully ready with all the components installed user would come in and create the workload cluster. Now are these workload clusters ready. Not yet. So ready as an ready to host modern applications. Not yet. So we need CNI to enable container communication CPI to set provider ID on the notes note that CPI is kind of a mandatory requirement. From core cappy. So it expects cloud provider interface to be installed on your workload clusters. So, so we need to have the CNI and CPI installed on the workload cluster to be called fully ready. And CSI is to enable state stateful deployments for persistent volumes and we use CRS cluster resources definitions for installing these components. So if you're planning to build cluster API infrastructure provider, you should also plan to implement cloud provider interface for your cloud environment. Okay, so admission controllers and multi version API. So now that we have the basic implementation of cluster API infrastructure provider, you can make it more robust by implementing these admission controllers defaulting and validating webhooks. Basically, they let you write custom code to either set some default values on the resources and validate before the data is persisted in the city database. And next multi version API support. It's a big topic in itself for this talk. I'm just going to go over the need and the few resources to get started. So at some point you'll have to think about bumping up API version. And what this means is it becomes a necessity on the infrastructure provider to be backward compatible with older API versions. Again, so when user request for a older API version, Kubernetes API server is supposed to return the object in that API version. However, your stored version could be much ahead and Qube API server needs to do the necessary conversions between the desired version and the stored version. And these conversions need to go into conversion webhooks so that Qube API server can actually call them to do the necessary conversions. So you can create the scaffolding for these webhooks also using Q builder and we have used the same. So few of the lessons learned. So the Docker provider is an excellent starting point to read through and modify the code, which is what we have actually used in the beginning to familiarize ourselves with the infrastructure provider implementation. It's very simple and bootstrap controller. It generates a cloud in its script and ginger template. We had to do some tinkering to adjust it to our needs and load balancers are kind of a first class component of the infrastructure and I have men already talked about CPI and do remember to Oh, where is it? Yeah, for this. Yeah, here. Sorry, sorry, this thing needs to go in here. So we need do we need to remember to set the cloud provider as external for the Q blood configuration. Yeah, and so lastly, on this page. So these two labels take do take note of these labels these need to be set on your CRDs. This is an important step. This basically tells cluster core component core cappy component to use which API version of your infrastructure provider and it becomes even more important to set these two fields. When you have multi version API support in your infrastructure ready. So we actually hit this issue where we had this multi version API support ready and we some we kind of forgot to set these labels and our newer API version resources are somehow getting reset to the older content. So we had no clue why thanks to cluster cluster API folks who helped us debug and it's a simple change, but this is very important thing that you need to remember. Okay, lastly, auto scaling kind of comes for free with the cluster API. All you have to do is download this and run this command with cluster API as a cloud provider and set some annotations on the machine deployment object. So there are more references to here and your clusters are auto scalable. So with that, I'll hand it over to Arun. Thank you. Thanks, so yeah, let's move from here. So as you see, there is a there are lots of gotchas. The cluster API documentation is one, but as she mentioned the labels and so on are. It's tough to find them in the documentation. The documentation is like a 350 page book if you print it out and the labels are mentioned in some particular cases and it is tough to debug these as well. But the cluster API community is very supportive and we made use of their help quite a bit. So now let's reiterate on revisit how the VMware how the cloud provider multi-tenancy looks like how public I mean how in general any multi-tenancy looks like and how VMware cloud director fits into that model. So in VMware cloud director, we follow the principle of the Google private cloud equivalent, though the other mechanism is also possible. You can have a set of organizations or one and or two and so on. So you, for example, suppose there are two organizations are going and out to the cloud is a partitioned into these organizations in terms of compute network storage and so on. So each of them is like a set of virtual data centers from the cloud. They are carved out and each org has their own set of data centers and their own set of resources. Now the IDP is also carved out in the sense that org one users. They do not really know the existence of org two, for example, and org one administrators also do not know the identity of how to there is an Uber cloud provider who is at the top who can potentially see everything, but the identity. I mean the IDP is unique across all of the orgs. Now we this is a very rich multi-tenant system. Now we wanted to figure out what our goals were for VMware cloud director and what cluster API brings the brings forward and how do we marry the two pretty much. So on our goals are that tenant users or organization users, they should be able to create cluster API in a self service manner. So self service manner is started because we'll talk about that in the in a little bit. Self service is very important for us. The second part is to bring out the features of our cloud platform VMware cloud director into Kubernetes clusters. So we have very strong user isolation and quota systems and roles and rights. Whereas Kubernetes has its own RBAC system. The quota system of Kubernetes has a lot to be desired. I mean it has one authentication mechanism and it has a separate or the mechanism and the two don't talk to each other pretty much. So, I mean, and yeah, we are left wanting that. So we wanted to be able to actually represent our user in the Kubernetes cluster. So the third part is the same thing about representation. So we want to ensure that our tenant users can be represented using their own IDPs in the Kubernetes clusters. So they must be able to authenticate. They must be able to create a cluster. But within the cluster, they must be able to show their identity. And the fourth thing is that we wanted to administer cloud policies on the user from the cloud side, but they should also flow into Kubernetes operations. So if a user has access to create only say 10 VMs, we want to ensure that the nodes that the Kubernetes nodes when they are auto scaling, they shouldn't scale beyond 10 they should stop at 10. And that should be a policy which is enforced by the cloud and that should automatically be used by the clusters. So on then we actually came up with a set of questions. Now, how do we actually first of all satisfy the network requirement. So one hidden thing of cluster API or it is potentially evident now is that the management and workload clusters all need to talk to each other all of the time. There needs to be a network connectivity. Whereas you saw that the orgs were disjoint with respect to network in the other case. So how do you actually have network connectivity between our management cluster and workload cluster. Maybe you cannot start off with one Uber management cluster. The second thing is the who creates the management cluster and manages it. So potentially there must be somebody who does the life cycle of the management cluster and keeps it secure. If the management clusters, for example, handles a thousand workload clusters, right? There's also a skew of versions between the management and workload clusters. So at some point, if you want to upgrade the workload cluster, you will also have to upgrade the management cluster. So there is some amount of management task and the administrator of this cluster needs to be Kubernetes savvy. So that is on the cluster management side on the user management side. How do the users create workload clusters in a self service manner. So the user needs to know that there is a management cluster and they need to go and ask for some access to it and do it. So it's not very self service. Basically, there has to be somebody who is on the management cluster side who is helping them out. How do we enforce the tenant boundaries on the user side? Basically, how do we represent the user? So that is the next two things. And finally, how do we audit the user actions on the cloud side? The user may go and do some Kubernetes actions, but they have to be audited with respect to their own user ID. So to solve the user aspect, we made the user a first class citizen inside Kubernetes. So what the user would do is they would be able to ask for a token from the cloud and get a refresh token and embed it as a secret in their token. So what I'm talking about from now on is sort of patterns in multi tenant clusters, which exist in other providers and other systems, but they're not really documented or there is no clear acceptance of those as a pattern. So basically we are talking about what we did and these seem to be the common patterns which are being used nowadays. So one of them is representation of the user using their secrets. I mean in AWS it is mounting the secrets and so on. So that way you can actually enforce the policies of the cloud director on the particular user. So the user would just embed their secret into the cluster which they create and they use the token in secrets. So we had to build a refresh token methodology in order to get this because we didn't want to expose the user credentials directly. That is like a token which can be revoked pretty much. So the other thing is the network boundary. We have seen that there can be multiple organizations. As a result, there can be multiple management, I mean there needs to be one management cluster per organization. And there has to be workload clusters connected to that particular org itself. So this wall is pretty much a network boundary. And since management and workload clusters need to talk to each other, they have to be within the same networking space, which is the same tenant. The user would essentially use their access token and do it. However, this also needs a namespace level multi-tenancy for which we take Kubernetes itself and the reason is in the next slide. So as you can see, like Sahity mentioned, the tenant can apply Kubernetes YAML to the management cluster and get a workload cluster. However, they should not be able to view the other clusters. So their access should not flow into this. But how do you manage that? Because pretty much the tenant needs some access. So here we are, and the third part is that the management cluster should not have a long time access to the clusters credentials. So we solved that using the namespaces. So what happens is that each tenant gets their own namespace, each tenant user gets their own namespace. And they are able to access only objects within that namespace and they can create workload clusters within that namespace. However, the other part is that they need to have short expiry, I mean, refresh tokens which are short expiry times. And I'll come to that next when we are doing a self-service Kubernetes or if you are doing this in the complete schedule. So this namespace pretty much gives exactly this tenant user access to cluster objects and VCD cluster objects and so on, a subset of objects. So now let us quickly look at how the workflow would be like.  So first of all, discover that there is an Alice management cluster. So there is no discovery and somehow we have to get to know of it from by word of mouth. But once this particular tenant gets the cluster, gets to know of the cluster, then they actually figure out who the owner of the cluster is, the management cluster admin, and they ask for a management cluster access. So this is a human operation which happens. This management cluster now creates a namespace for this user and gives them a particular cube config, which is the way to access this particular cluster. And now the tenant, so as you can see the management cluster admin's work is done. They can just go out of the picture. Now the Alice management cluster is available. The namespace is available. The user is still there and the cube config is still there. Now they want to create a cluster. So they will create a cluster with the VCD token embedded as a secret. The VCD is our cloud provider refresh token, this particular token. And they get a workload cluster created using that they can monitor the lifetime of this creation and they can see it getting created. Now again, so seeing it getting created is a bit of a tricky thing because they don't have access to capacity logs. Okay, so it is not, I mean, we have to make the logs multi tenant in a particular way by which they can actually see if there is an issue with the creation and then they can go ahead and create it. Now, once that is created, so as in they should not be able to see any other users logs. So that is where the logs also need to be multi tenant at that particular point. Once the cluster is created, they want, they want to actually get the cube config of that cluster, the admin cube company, and that is the means by which they own the cluster, right? So they would issue a get cube config. It's a small script, which they can run, which would essentially take the secrets from the cluster and you get back this particular workload cluster. And things are done there later when they want to update or upgrade this particular cluster, they again need to come up to this particular management cluster and make those changes and their operations are satisfied. So this is the whole set of operations. And as you can see, there are many things in this life cycle and it's not very self service based right you actually go and talk to a person and do many things. There are other things with the management cluster as well, which we need to talk about in a distributed system. And that's the blast radius and security aspects of it. So you have a management cluster which is handling multiple workload clusters. And you have multiple workload clusters where the users have actually stored their secrets, their tokens. Now what happens if there's a network partition on the management cluster side. Now, the workload clusters cannot be managed at that point, you cannot upgrade or update them. So they are sort of waiting for the management cluster to come back up or the network system to be there. Or what happens if the management cluster is compromised in some way or becomes evil. Now all of the tokens are compromised. I mean, even if they have shortly tokens, they cannot use the management cluster anymore in order to upgrade their clusters. So they are in a sort of limbo state where in they can we can always revoke the tokens that is fine, but then you can't go and do anything to your cluster. You can just let the current workloads runs workloads run even auto scaling will not happen at that particular point. So in order to actually solve this issue, we actually came up with something. I mean, we actually began to use something called a self managing cluster. So this is an old concept which has existed from the beginning of cluster API. However, it is not used as a common pattern nowadays. However, this has helped us quite a bit. So you have the same system wherein you have the management cluster, you have cap VCD binaries, and you have the workload cluster records the CRDs which society was mentioning in flaka in front cluster controller and so on. And the user can actually apply resize and upgrade commands on this management cluster and things work. So what we do is we and things operate on the workload cluster. What we do is we actually install cap E and cap VCD on the workload cluster and we run the cluster. It'll move command. So the movement can be namespace. So you can exactly move those records of this cluster into the workload cluster. All of the labeled objects which I mentioned, those would potentially move once these are moved. As you can see this link between the management cluster and the workload cluster is lost and you can actually apply all of your commands on this. So what we have done is after the cluster has been made self managing. So this sort of a cluster is called a self managing cluster. Once it becomes self managing, you can just auto scale it by just using its own record so you can do a cubicle up. You can change the number of nodes for example, worker nodes from three to five. And you can apply the ML on this particular workload cluster. It'll scale itself up. Likewise, you can it can scale down as well and you can also do a upgrade operation. So you can actually let it upgrade itself from one version to another. It's completely self managing. The only caveat is for deletion for deletion. We need to take the help of another cluster and we haven't aware on that. And we began to use this on self service Kubernetes cluster. So now we want to have one SAS layer by which you can create a cluster in a networking space where you can't have access. So there is a networking space somewhere which has 192.168 dot something. For example, in 10 and Pepsi or 10 and co. You have a 192.168 network here. Now there is a particular Kubernetes as a service layer and a Pepsi user. He cannot access the network of tenant Pepsi directly. He is on his laptop. But however he can access API surface and they want to have in he or she and this user wants to be able to run a particular command. By which they can actually create a cluster here. So the way we do that is we make use of the bootstrap cluster mechanism. So basically we create a VM on that. So by using the cloud providers API. I mean by using the cloud API, we create a VM on that particular tenant and we actually create a small bootstrap cluster in that. And then we create a workload cluster based on that. And we move the objects. We make it self managing. I mean we install the Cappy capacity and we make it self managing. And then we destroyed the bootstrap cluster at this point. The Pepsi user can actually go and manage their workload clusters on manage their cluster on their own. So there is no intermediate layer. There is no management cluster. There is no overhead of another person coming and administrating one cluster and there is no scaling off request. So what happens if one management cluster is handling 10,000 other workload clusters? How do you actually ensure that it scales up and works? You don't have any of those questions. You have each Pepsi user, I mean each user accessing their own Kubernetes cluster. And the case Kubernetes service layer at this point is just a very thin wrapper. And we ultimately came up with that and completed, I mean we have finished the implementation of that and we are going to release that as CSE 4.0. I mean other users can also come and create their own self managing clusters. Now it's extremely distributed as in it's embarrassingly parallel, right? So there is no central authority which is actually trying to manage multiple clusters, but each cluster is managing itself. All of the requests are directly flowing to that. And shout outs, yeah, thanks a lot, Cappy community for the help and Jane Swarm and some of some other partners actually give us some requests and make us make Cappy city better and implement features better. So there are some references here and QR code, but if there are any questions we can take. So these are the common patterns. The reason why we have mentioned it is when you go to the community and ask for it, there is no fixed set saying that, hey, this is the way to do it. It is like some people have done it this way. Some people have done it that way. And so this presentation is a very commonly used pattern to do any questions or comments. Otherwise we are sort of at time or beyond time.


Hi and welcome to the session. I am Shashi. Let us do one question. Question is for the matrix A is equal to 1, 5, 6, 7. Verify that A minus A transpose is our skew symmetric matrix. First of all let us understand a square matrix B is said to be skew symmetric matrix if B transpose is equal to minus B. That is the transpose of B is equal to negative of itself. This is the key idea to solve the given question. Let us start with the solution now. We are given matrix A is equal to 1, 5, 6, 7. Now we will find out A transpose by interchanging the rows and columns of A. So we get A transpose equal to 1, 6, 5, 7. Now we will find minus A transpose. Now minus A transpose is equal to minus 1, minus 6, minus 5, minus 7. Now we know A minus A transpose is equal to A plus minus A transpose. So we can find A minus A transpose by adding A and minus A transpose. So A is the matrix 1, 5, 6, 7 and minus A transpose is the matrix minus 1, minus 6, minus 5, minus 7. Now we will add the corresponding elements of the two matrices. A minus A transpose is equal to 1 plus minus 1 is 0, 5 plus minus 6 is minus 1, 6 plus minus 5 is 1, 7 plus minus 7 is 0. Now we will find negative of A minus A transpose that is equal to 0, 1 minus 1, 0. We had multiplied all the elements of the matrix A minus A transpose by minus 1 and obtained the negative of A minus A transpose. Now we will find transpose of A minus A transpose. It is equal to 0, minus 1, 1, 0. We had obtained the transpose of A minus A transpose by interchanging the rows and columns of A minus A transpose. Now we can clearly see that these two matrices are exactly same. So we can write A minus A transpose whole transpose or we can say transpose of A minus A transpose is equal to negative of A minus A transpose. Now since transpose of A minus A transpose is equal to negative of A minus A transpose therefore we can say A minus A transpose is our skew symmetric matrix. Hence verified. Hope you enjoyed the session. Take care and goodbye.


Hey, good morning everybody. Oh my goodness. I Always think I have so much more time than I actually do so I had literally a minute and I'm like Trying to log into my collars. So I'm sorry people on Everybody who is patiently waiting on block talk. I'm sorry that I I'm a procrastinator So here's the deal if you are listening on a podcast I heart Apple Via Rude Rangers TV or the Rude Rangers app or on one of my Blob talk speaker I heart Apple if you want to watch me live You can join me live every Monday at noon on YouTube my words are catching up with my mouth or is it my mind that's catching up my mouth. Oh My goodness. It was a long weekend. It was such a phenomenal weekend, but it was a long weekend. Um, a Good weekend a really good weekend help the friends celebrate their birthday So I'm a Gemini most of my friends are Gemini. So it was my birthday a couple weeks ago Thank you so much. Everybody on social media who reached out and said happy birthday. Um, I Love every single one of you even wait wait, even if you didn't wish me a happy birthday. I still I have so much love for you So you can join me on live every Monday on YouTube you can watch the repeat or the Restreaming of the shows on Rude Rangers TV W. S. C. S. Um, which is a station YouTube app Roku Amazon Amazon Fire Stick, I think Apple TV. I'm out there. So so here's the thing You can see me in a lot of different places, but if you want to watch me live, it's here I so I'm gonna say hi to some people who just are watching me live on YouTube. That's a Cindy or Cheryl Orlando Hey Cheryl, I love you. Hey, I'm I'm just gonna lean in and Mahesh Mahesh Hey, Mahesh, how are you? Breezy Ray, how are you and of course Genevieve who is She is just such a an amazing soul from Canada Mahesh Where are you caught? Where are you watching from today, Cheryl? I know where you are Breezy Ray with Sabrina, where are you what where are you tuning in from today? Let me know if you're if you're on YouTube, let me know where you're from so I can give a shout out Costa Rica Breezy Ray and Sabrina are from Costa Rica. I love that. I wanted I really want to go there So hey if you want to help My publicist set up an event for me there I would be all in on that Genevieve as most of you already know is in Canada Okay, so enough about that. So you guys here's the deal. I have Callers that call in and they wait like they wait 15 minutes before I even can get You know, they wait 15 minutes in the call log to Get a chance to ask a question for the show So my number one priority is always the callers that call in so if you want to call in it's eight four five 277 9131 is the call in number you can ask a question or connect with a loved one on the other side I'm a psychic. I'm a medium. I'm a channel. I feel like I'm in a circus act right now These are me juggling fake Falls will stop that. No, okay. Oh, I've got my goofy on today. I am I am So goofy today I Skip from Atlanta Oh, it's S. It's not skip. I'm sorry. It's Sandy from Atlanta. Hey Atlanta. Thank you for checking in So and then there's ah Mahish Mahish, I am so sorry if I mispronounce your name I don't want to just call you up by your last name Riches which is Rajputs, but I think I'm just going to call you M because I don't want to disrespect you by mispronouncing your name Okay, if I do say your area code on block talk please Take me off a speakerphone because the background noise is really Sturving and I'm I already have my phone on speakerphone so I can use it for all of my one-man set up show here No, I have not been drinking but it's fair for you to think that right now It's literally noon on a Monday. You might be watching this on a Rude Rangers TV at 6 p.m I had a Monday and think wow, she's she's already had some wine. No, I have not oh Yeah, I yeah, yeah, yeah, yeah, yeah, yeah, okay Mahish from now on I'm gonna try to remember I can call you Bobby and For read I hope you that's your name.  I'm sorry for everybody watching on big TVs For read, okay for read. I think your name is for read. Hey, okay If you want to call in eight four five two seven seven Nine one three one if you cannot call in and you have a question, please put it on the chat section of YouTube, I'll try to get to it. There's no promise But I will so I'm gonna skip off of this really quick and I'm gonna come over here And seven eight zero you're the first caller today. How can I help you today? Hey, Jay? Yeah, absolutely my pleasure. How are you? Okay, so the first thing I'm gonna say is I'm really sorry that that happened It's a very difficult time in the whole World right now and I want you to know you're not alone with that many people are Going through Just devastating times right now But the first thing I'm gonna do Jay is I'm gonna make sure you're clear and I get a no so for you everybody Listening and relistening. Oh, no, you are not because I can't even get those words out without Going there. So we're gonna start clearing everybody. So if you're new to my show, I do this healing work called clearing and It literally The angels holy spirit, whatever deities you work with come in and Start removing the energies that no longer serve you. Okay. Oh This is a lot of Between the heart and the throat is where I feel this big ball of energy Jay. So hopefully that will be released soon What I'm going to tell you is is You know, I would implore you to get out of the What's going on in the world and only focus in on on Your immediate circle so and I know sometimes even our immediate circle isn't the best place to go but Right now, they're so Okay, there's so much Division being deliberately caused in this world and and believe me I Don't want to go too deep into it, but it's very It's it's extremely intentional If you can keep people it's it's it's it's textbook divide and conquer you it's Whether you believe in Yeah And and for for everybody else listening also whether you believe in conspiracy theories theorists or this or that or the other thing anything designed to divide people to Create a division It is is not good. It's not good and it happens with religions. It happens with aspect of every life, okay So what I'm gonna say is is stay out of as much of that information as you can for now build yourself back up bring the light from the Sun into you and Let that regenerate and recharge you Okay, you're still not clear we're gonna continue to clear this throughout the show Don't go any place because before the end of the show I'm gonna click back on you and I'm gonna see how you're feeling. I do feel it It's very tight in you.  So Jay, please hold tight and thank you for calling in I'll be back to you in a moment Okay, so if you anybody out there is having these Difficulties right now it it is normal to a certain extent, but I legally have to say Legally I have to say Reach out to a facility To get help now if you know, you're not gonna harm yourself You're just having these thoughts reach out to somebody you can trust. Okay, but legally I Should stop doing finger quotes put my hands behind the back Legally I have to say if you're having thoughts of harming yourself reach out to a professional Now that I've said what I have to say legally I'm also gonna say it's a very difficult time in the world and We have been through quite a bit over the past year or so It's normal at this point in time with everything going on and all the judgment and all the division To feel very defeated at moments and Believe me, I could do a five-hour show on the The Outcome of what has happened over the past year so being in lockdown being in your house being isolated being Being separated from family and friends and loved ones not being able to live our lives Scientifically, yeah, I'm gonna use that word and I'm gonna use it appropriately unlike some of the scientists out there using it scientifically and Every psychiatrist in the world will tell you the outcome of that would be devastating For most people We are here to create recreate to fly to be free and to live our lives to enjoy them So and it's not that I don't believe see the big C isn't real I Believe it's real. I Also believe the way it I also believe it was mishandled. I believe there It could have Things were done that didn't need to be done and things are being done now that do not need to be done And if you don't like my answer, I completely understand. Please don't argue with me argue with the the angels argue with your Guides don't argue with me because I'm gonna stand my ground and I'm gonna tell you what they tell me every single time no two ways about it and any and Every reader that I have watched online Says the exact same thing every psychic that I talked to that's worth anything and Sorry if you're not getting Information from the light says the exact same thing. Okay I'm gonna go to the very next caller who is seven seven zero Seven seven zero. Oh, hey, how can I help you today? This is I need to have some clarification on What's going on with a legal thing? Okay? Yeah, I'm just trying to figure find out What stands and all that statement? It's with my brother Okay, so do you want it? Let's let's get this right to the end result. Do you want to know? Are you gonna is is this a win-or-lose situation for you? Yes, okay, correct.  There's not gonna be a winner in this situation Emotionally psychologically There's not gonna be a winner. Okay Who will get the verdict? Who will get the verdict on the other hand? I feel like it's going to what I'm hearing as of this moment and This depends on a couple of things. I Hear it's going to be a compromise There's going to be a compromise in the verdict, okay And and I'm gonna tell you Legal situations that's what judges do judges like That they kind of that's that's where it sits now no matter what it is. It's a negotiate They negotiate things out now. They just kind of negotiate things out The legal system has changed a bit along with everything Anyway, let's get back on topic here I'm just gonna say I feel like there's not gonna be a winner here. You're both gonna lose a bit of Well, first of all and I wish I was joking with this but you've already lost a bit of your sanity over this you've also lost a bit of your Your ability to They're using the word compromise and I know you might not agree with that. I know you might not think that that's Accurate, but it's okay. It's okay the way they're used sometimes the way they use a word and the way it comes across might be two different things Emotionally and psychologically you're both going to suffer if you too can can can Here's what I'm gonna say. There's just not gonna be a winner in this one love. Yeah, you'll you'll you might walk away with something But you're not gonna win You're not gonna win and and that's all that's all they're saying and I'm I'm really sorry and there is No, they're gonna say one more thing. They're not done. I wanted to be done Apparently I'm not in charge here. They're like no keep going There may be a right and wrong there may be a person who is right and there may be a person who is wrong but both of you think you are the right person even if one of you knows you're not and So Right and wrong does not always Determine What should happen because and I've been in plenty of situations and especially with family where I thought I was right but In the end, I wish I would not have cared about that But but that's me personally and I'm gonna say you do what you do you you do what you have to do I Do feel like This is gonna be one of those cases where it's just gonna be compromised and you're gonna think I went through all of that for this and Here we are now I'm not saying you're not fighting a good fight. I'm just saying This is where it is as of right now and it may end up being there for a bit of time so figure out a way to Manage the outcome and that's what's gonna move you forward with a bit of ease and happiness Okay, okay Whatever the judge decides whatever the verdict is here find a way to Manage your feelings about it to be okay with it no matter what it is remember things were determined a lot of things were Um destined our destined even though we we want to believe we have control over things, but a lot of things are destined and Always remember no one can ever take what is meant for you and everybody has a path in life that they are following So whatever the verdict is or whatever precision is made find a way to Manage you to be okay with it to manage your emotions to be okay with it to not be upset Because I do feel like there's gonna be a compromise and you're gonna feel like it's not fair Like that's not right. This is the way it should be and that's that and you you might be right about that I'm not saying you're wrong. I'm not here passing judgment. I'm just you're telling you what they're telling me and I do really hope that that is helpful for you But what I am gonna do don't go any place yet What I am gonna do is I'm gonna do a clearing that the fairest and most just Verdict comes in for this and right now I'm getting a no because I'm going backwards So I'm gonna clear that now and hope that this helps bring some Peace and a better outcome to this Okay So thank you for calling and I Do hope that in the end whatever However, this comes down It's best for everyone involved So and I I want to put you back on like I want to take you off I want to put you back on the air But I have a feeling the questions I want to ask you because I have a feeling this involves something of a sensitive nature But I don't want to do that on the air So that's why I actually muted you because I feel like this has something to do with something of a sensitive nature And I was I don't want to put that on the air So I'm gonna go to YouTube really quick. I'm gonna look at it. There's any questions Yeah Okay Okay, what about the nuns feelings and moves towards me in a week Okay, so for Fareed Fareed as a nun, I'm gonna say this I'm gonna say Give a time don't don't be like within a week within a week I feel like everything is gonna fall into place exactly the way it's supposed to But I feel like if you push That's exactly what you'll do. It'll be like gone done.  Oh my goodness like How did I not see this before? Whatever it is for you. It's going to come in very very strong and It's gonna give you clarity on the situation I feel like sometimes We get a little soul In our head with our thoughts obsessive thinking I obsessively think about everything that we Don't take the time to be silent and let the information come to us. Okay? So I feel like if you If you just know everything is going to be okay and all of a sudden you're gonna have this light bulb moment and all of a sudden You're gonna be able to say Okay, now I can move in the direction. That's best. Okay, so know that Excuse me and allow it to unfold naturally. There's a natural order of things for sure There is and then Genevieve I have No, I have not. I would be shopping right now if I won the lottery No, I'd still be on air.  Okay. I'm gonna go to the next caller 845. How are you today? Hello, I'm doing fine. Thank you for taking my call. Absolutely my pleasure. How may I help you? Okay Can you please see how I'm doing economically financially? Any changes that are coming? Okay, so, um, please Yeah, there are changes that are coming So they're okay You're you might not like my answer, but I'm not here to please people Apparently I'm not here to please people. I'm here to give them the truth People don't always like the truth. That's just all I can say um So three changes are coming but two of them have to come from you one changes you have How do I say this you have to look at the way That you look at money and the way you spend money and then your finances will change So when I say the way you look at money like, um Where is your consciousness with money? Are you in a place where you have a very uh powerful wealth or Abundance consciousness And then the second thing is how you spend money and well, we won't go into that right now because that's just that Now the third change is there is a little And when I say a little I mean there's a little more coming in When this comes in Again really look at your relationship with the way you Okay, look at money how you feel about money and how you most How you spend money, okay, so You know I I'm not saying this is you. I don't think this is you but I'm I'm just gonna say the the change that The answer you want to hear is 90 seconds Um more money is going to come in for you. Yes. That's going to happen The answer you don't want to hear is is maybe you have to look at how you think Money works and what you deserve in money. So Having said that here's what I'm going to say really quick really quick if you're watching on w scs Thank you so much for watching You can watch the rest of this show on rude rangers tv or on my youtube station And if you'd like a private session, you can go to to and I g that i n f o. That's 20 g dot info


Let's bring in two of your players of the game. McKenna and Kellyanne, why don't you both come in? So McKenna, you came in game leader in terms of goals coming into today. You found a way to put up a hat trick, but obviously not the final outcome that you wanted. What's your message to your team as one of the seniors? I think just cohesively, we just need to work together more as a team, stronger, from if a goalie makes a save all the way up the field type of thing. Our offense is struggling, kind of just meshing and working like flowing together in the way that we practice all week. So I think in games, it's just a lot of pressure that people put on themselves. And hopefully we can turn a corner and take these three losses and just really kind of finding ourselves that turn around in the next games in the season. And Kellyanne, obviously today didn't go the way you guys wanted it to. But your spirits, Frank, you know, we're calling the game, but never really wavered. So as one of the leaders of this team, how important is that for you? You know, I definitely think like energy. This is our focus this whole year. Energy, like keeping the positive mindset is definitely like a serious focus. And it's a crazy impact on the team. And like, while you can see that the energy's there, the drive is there, the heart is there, it's so much easier to continue to play and continue to want to be out there if you have those leaders that are going to have that positive mindset and are going to want to keep going. McKenna, you know, specifically speaking to what I talked to your coach about before the game started, and that was getting healthy, you know, in terms of availability. Do you feel like it's so early in the season that you're not going to count yourselves out yet? And how are you going to kind of turn a page in them? It's the first month of the season of 2022. So how does that change your mindset moving forward? I think just moving forward, we just need to watch film, just work hard in practice. Everyone needs to just try their hearts in practice. I mean, and then just turn it on in games. Everyone's healthy. All of our starters are here. We have a really veteran team, a lot of seniors out there. Callianza Freshman, but she's picking up a lot of the pieces that are falling apart. So we just need to look towards even younger players and our seniors that have been there for a while to just kind of have a spark and just turn it on in the next couple of games. Callianza, for the rest of the weekend, specifically today, how do you guys handle this? Right, you got to kind of turn a page quickly. Will you study some film coming up maybe earlier in the week, or what's up for the rest of the weekend? Yeah, I definitely think like looking back at film, analyzing, understanding like there are always positives and negatives. And I think that we can take what we did today, reflect on it, and the only thing we can do is get better from here. All right, well said. Thank you both for your time. All right, coming up next weekend, St. John Fisher, you guys are all set.


Inflammatory bowel disease, IBD, is a chronic gut condition associated with significant morbidity and its etiology is unknown. Gut microbiota alteration, dysbiosis, is considered a novel factor in the pathogenesis of IBD. The gut microbiota acts as a metabolic organ and contributes to human health by performing various physiological functions. Deviation in the gut flora composition is involved in various disease pathologies, including IBD. Gut microbiota-based treatment approaches have shown good evidence of their effects in the amelioration of colitis and animal models, mice, and IBD patients. However, insufficient data and confusing results from previous studies have led to a failure to define a core microbiome associated with IBD and the hidden mechanism of pathogenesis. Well-designed randomized control trials and mouse models are required for further research. A better understanding of this ecosystem will determine the role of prebiotics and probiotics as therapeutic agents in the management of IBD. This article was authored by Isra Khan, Naim Ola, Leija Shah, and others. We are article.tv, links in the description below.


Hey you guys, so here is the finale to Weeping Angels y'all. I'm sorry. It's been a long time since I've been recording, but it is what it is. So we are starting off with Anthony running down to the warehouse, the abandoned warehouse, where his illegitimate son, Basil, is holding hostage. The young woman that they kidnapped a couple of weeks ago, Peaches and the twins, the 12 year old twins, Rose and Jasmine. So he has advised Willow and Wynet, his wife, not to call the cops because he's going to try to find the twins himself. Now he has an England idea that the twins were down there and so of course he gets down to the warehouse and Basil, Basil has taken his sisters and now he wants to rape them and kill them like they have done the other ones. So Anthony is looking at Basil and he's basically saying you don't have to do this. They're too young and so Basil is like exactly that's what makes it even better. They're very young so you know what pops? I'm going to go back here and handle Peaches and why don't you take care of the twins.  He takes her and she's screaming and crying and pleading again to let them go and the twins are tied together, their hands behind their backs and Basil has tied them together. The father, Tony, gets down on his knees and he takes down I believe a headscarf or a blindfold or excuse me a bandana that Basil had used to tie them up. He releases the mouth on one of them. Let's say it's Rose and Rose is like daddy what's going on? Why is he seeing them? And so that's when Tony cuts her off. He said that's okay baby don't worry about it. I'm going to go ahead and release you guys. If you run straight home as fast as you can. As he's undoing their knots you guys Basil did a good job in tying them together. We're going to cut over to Willow who is still sitting out front of the brownstone looking back and forth. She's basically watching the street for her father's return. That's when she could hear the young detective downstairs from Texas. Michael come out of his apartment and he's like hey Willow what are you doing out here this late?  So she's not sure she should say anything so she's like what nothing I'm just out here. You know just enjoying the weather and he looks around because it's not good weather.  So he's like you're enjoying this hot weather and she's uneasy. Willow is not a great liar. She works all her emotions on her face so he could tell something is wrong. He's a detective too. So he goes up the brownstone. He's like Willow what's wrong? I feel like you're not telling me everything. You do know you can be honest with me and open and she looks to him and she's like it's my sisters. We came home. We were getting ready for dinner. We went to the bedroom and we saw that they went there. My father decided to go to the shop they went there and he told us to not call the cops but I'm worried. I'm worried about my sisters and I'm worried about my daddy. That's when Michael looks at her and he's like you know what Willow there's something I need to tell you. And she's like yeah what is it? She's looking at him kind of uneasy and she's like yeah what's the problem? He said look we have a lead on who's been kidnapping and murdering these girls. And she's like okay who is it? And he's like it's your father. And she steps back almost falls back because she's on the stairs again and she's shaking her head. Her head she's like no that can't be right. Again this is her father. She can't believe what Michael's telling her. She's like no this can't be true and Michael's going up the stairs. He's getting closer to her. He's like yes Willow I'm so sorry baby. I wanted to tell you sooner but I didn't want it to get in a way and I didn't want you thinking that the only reason why I was getting closer to you was to get closer to your father. And Willow looks at him and she's like actually that's exactly what I think. You know what I don't think you should be talking to me right now. He's like well what can I do to help? And she looks at him. She's like you can leave me alone. That's what you can do to help. So Willow goes upstairs to the apartment. She goes into the apartment.  And Willow doesn't say anything. She goes to her room and starts crying. She's balling crying. Michael then goes downstairs and he goes into his apartment. He takes his gun because he's like he already knows what's happening. So he starts going around cut to Tony. He's trying to release the twins Rose and Jasmine. Again Jasmine excuse me again.  And mind you guys if you remember Tony has the gun on him too. He has his peace so he's ready for anything. So he successfully unleashed them and here comes Basil. He came out his hands have blood on them you guys. So he comes around and he's like what are you doing?  And Tony's like this is not right. This is not right. I should have never involved you in this. There's something wrong with you Basil. I promise you you know let's just you know don't involve the girls. We can worry about peaches later on but please don't involve my babies. And so Basil looks at him and he's like well what about me? Ain't not a part of your family. Why you always put them above me? And so Tony's like it's not like that. You don't understand but the girls you know they're babies. You can't do this to them.  You can't do this. You can't do this.  And Basil's screaming at them to come back but they don't.  Again, Michael's going through the neighborhood right? He's going through the neighborhood. Cut to Basil and Tony they're going back and forth. Basil's like you don't understand. Like this could be the perfect perfect murder for us. And you don't want to do this. And Tony's like I don't know what I did wrong. I have no idea why. I'm so sorry. That's when he pulls the gun up to his head. Basil's like what are you doing? What are you doing dad? And Tony then pulls to trigger you guys. He pulls to trigger and kills himself. The twins are running at this point and they pause and turn around. Jasmine's like did you hear that?  She said but what if Basil did? Jasmine's like no we gotta go ahead and go home. They start running towards the house. That's when Michael sees the girls and he gets them and he's like are you guys okay? They're like yeah but our dad we heard he said yeah I heard it.  Let me know where did it come from. So they point towards the direction of the empty warehouse you guys. And so they kind of get them directions on where it's at okay? So the twins get home safely. They knock on the door Willow and Wynette. They hug them, embrace them. It's cool. Michael is making his way to the abandoned warehouse and he discovers Tony on the ground and Basil is next to him basically trying to hold his father. But it's too late he's already died. So Basil's looking at him and he looks up at Michael and he's like I don't know why he did it. I don't know why. He's like you know what you need to put your hands behind your back. We gotta take you down to the station. So at this point you can hear ambulance coming. You can hear because Wynette was like screw this. She went ahead and called the cops. And of course Michael went ahead and called the cops while he was in his apartment and you know went out to go find the twins himself. So all right you guys cut to a couple of days, weeks later on the girls are absolutely devastated. The family is devastated at their father and the brother BJ Basil of what has happened. These two which is very rare to find serial killer pairs. But it happens. But anyway these two started killing in their previous state. I can't even remember what state they were in. Of course Anthony being the owner has been killing for a while. He's been really good at it. Basil not so much. He's a bit sloppy and he wanted to get younger and younger. The victims were all over the place. So the cops were confused. So of course they didn't know until the killings up in what the family is at right now that it was actually two people at this point. Okay. So they buried Basil. Excuse me. They buried Tony. Hardly no one in the community came to the funeral but the family because they were disgusted that this man, family man, business owner in the community could do this to girls that he knew and having a family full of girls too. So Basil ended up getting the death penalty and so he's serving on death row right now. He has no regrets and he tells them everything that happened. He's actually glad about it. He's glad to be in the spotlight. So he's very open about the murders that he did with his father. The twins had to go through a lot of counseling, having to deal with the pain of losing their father and being kicked out by their crazy step brother. Brother, you know what I mean? Michael and Willow do end up falling in love. So the corner store remains open and Willow takes over the ownership and she runs the store and she's very successful.   It was a stranger this entire time. This psychic comes downstairs, you know, from upstairs. Excuse me. What are they? The Goldstein. So the psychic upstairs runs into Willow one day at the corner store and Willow hasn't seen her since the murders and since her father committed suicide. So Willow kind of avoids eye contact. But Miss, what is her name? Mrs. Goldberg. Mrs. Goldstein. She comes up to Willow. She's like, so you understand what I saw. And so Willow looks there. She's like, yes. Yes, ma'am. I get it now.  Is your family well? She's like, Willow looks at it. She's like, what do you think? No, we're not okay, but we will be with time. And so all right, you guys, that's the end of the story. Weeping angels. I know I'm so sorry it's been forever. But I just didn't know what direction I wanted to take this story. So that is it. Thank you guys so much for watching. Take care. Bye.


Well, to seal the breakfast and plus TV Africa, let's quickly look at the session from the World Bank. The World Bank has described the level and quality of infrastructure in Nigeria as low, and that's despite the federal government's claim of borrowing to finance infrastructure in Nigeria. And we know every other time that that's the case, especially with repatriated funds. Well, in its Nigerian public finance review report, the World Bank said that Nigeria's physical infrastructure gap would likely reach $3 trillion in the next 30 years. According to the reports, it says that the level and quality of Nigeria's infrastructure qualities low, with the country ranked 132 out of 137 countries for infrastructure, in the 2018 Global Competitive Index, other than Nigeria's development outcome were among the lowest globally, which indicated a high public spending needs. In September, while speaking of the inauguration of the presidential committee on the economy in the federal capital territory, Bohari explained that the rationale behind Nigeria's huge debt estimated at over $41 trillion, incurred by the federal government, says that the loan when necessary to execute infrastructure development, a paradox you may call it, running us this morning for an in-depth analysis, it's Nika Gule, a public affairs analyst, all the way from Benway. Has Benway this morning, Nika Gule? Very calm, and we are getting ready for the elections in 2023. No, that's great. And I'm sure that you have your PVC already. I have my PVC, which was in debt, but now transferred to my local government here in Benway. And I'll be here to vote. That's quite impressive. Let's quickly get into the crux of the matter. How would you describe the situation? The government has over time said that the reason for all of the borrowings, including the recovered funds, is so that we can, you know, further expand it on our infrastructure. But right now, the World Bank is saying that it probably might take us 300 years to get to that point. Absolutely. The World Bank has described the problem succinctly.  It's not as if we're in another country and we need the Nigerian government to tell us what is happening in Nigeria. We're Nigerians. We're Nigeria. We are filling the infrastructure deficit because the roads are not there. The power is not there. The water is not there. The rail lines are not there. I mean, the schools are not there. The hospitals are not there. We are seeing it. So regardless of what the federal government tells us, we are seeing this thing as clear as day and night. We're experiencing it. Everybody is feeling a pinch. It would take a census of Nigerians today and you say, how many people had electricity in their homes all the night long to this morning? You are going to get only a few percentage of Nigerians that will say they had that privilege. If you take a census of Nigerians and say, do you have public water supply into your home? Only a few will agree to that. The same with the roads and everything. So the World Bank has described the problem correctly. Nigeria has a very serious infrastructure deficit. But I think what now needs to happen is that we already know the problem. The government is also aware of the problem. We Nigerians are feeling the problem. The question is, what do we now do to close this deficit? That is the question that needs answering, Mersi. Okay. We will definitely get to the point where we talk about how to close the deficit. But let's look at the deficit. We will create a federal system of government and we have three tiers of government. Now recently, there's also another report about multi-dimensional poverty and 72%. When we talk about infrastructure, it includes roads. What have you in our rural communities? So if you have 72% of Nigerians in rural community or the rural community in experiencing multi-dimensional poverty, do we have to blame that on the federal government? No. We don't have to blame it only on the federal government. We need to blame it on all the tiers of government because like you mentioned roads. In Nigeria, there are roads that are federal roads. Some are state roads and some are local government roads. So for instance, if the federal roads were left in the state of dilapidation as they are now and the state roads were clean, good, mutatable, just as local government, we will be talking about the federal government, but there's no road in Nigeria that is clean. The state roads are in a total state of disrepair as much as the federal roads and the local government roads. So the government across the tiers are not doing what they are expected to do, but there is something that makes the federal government to be more culpable and that is because it is only the federal government that has got law enforcement under its control.  You see development. You see infrastructure. You see everything working well. Check the law enforcement in that country is going to be very strange. So if you go to the Canada, the United States, the UK, the Germany, the France, the Australia, so this world, their law enforcement is so strong that you look at the policeman work heated in a fine BMW or a smart car, work paid, you yourself you advise yourself you are not going to mess with him. So the federal government has law enforcement under its control. Recently the president, President Muhammad Uguwari, was at a conference lamenting that he is aware that when monies go to the states and local governments, that the governors make the local government chairman to sign that they have taken money that they did not take. He is the president. He has the inspector general of police at his command. He has the EFCC. He has the ICPC. He has the DIA. He has the MIA. He has all the law enforcement, the prisons, everything under his control. Why is he not unleashing it on those governors that he knows are chopping local government money and making local government chairman to sign that they have received the money? So this is what is making the federal government to take more of the blame. They actually share in the greater blame than the other tires of government. And it is one of the reasons why we are saying let law enforcement also be devolved. Let it go down to the state and local governments. But don't we think that that would be another system of governance that we'll be practicing? Because realistically, we're talking about this, we say infrastructure gap or at the pace which the country is developing in terms of infrastructure is low, that's the thoughts of the World Bank. And in current reality, if you live in Nigeria, you probably want to agree with that. But so in a state, you have the judiciary, the legislatures, the legislative arm of government, the judiciary and the executive. Why should the federal government be interfering in the affairs of the state when you have this arm of government in the state that should check the excesses of the executive? So there's a lacune and somewhere, I mean you have correctly described the structure of the state and local governments that the states have the judiciary and they also have the legislative arms of government, which is correct. But there's a lacune and then lacune is that if someone is caught committing a crime, for instance, he is taking money that is meant for infrastructure and he's misappropriating or accurately embezzling this money. The first thing that happens is that that man should be a judge. He should be a judge. He should be a judge. He should be a judge. He should be a judge. The first thing that happens is that the man should be arrested by the police. The police is under the control of the federal government. So it is only when the man has been arrested because he has committed a criminal offence that the judiciary will even come in. It is the police that will charge him to court. So if the police are not doing their work, then how can that man get to court? Or even if that man gets to court, and the police, who are the prosecutors, are not sending that man, I mean, following up on that case and dropping the bombshell evidence that is needed by the court to convict that man and lock him up in prison, then what can the judiciary do? Also, the EFCC can also come in if there is a corrupt, you know, practice by anybody. The ICPC is the one that should arrest someone who is in public office and is corrupt. All these agencies are under the federal government. This one was saying, devolve these things to the state. Let the states also have their police so that law enforcement begins from the prevention and the enforcement, which is by the police, before we even go to the judiciary. And that is why this whole structure is on the front panel. And I'd like to ask, I remember vividly that, you know, about in 2021, the budget, the government had said that it was spending 94.1% in implementation of infrastructure and human capital. Of course, fast forward to 2020 through 2022, the government also stated reason why they spent 3.53 trillion dollars on infrastructure. Is it that where all of this amount, are we really spending it or what exactly is it going to? Okay, so there is something here that needs to change, messy. You see, in the colonial days and the post-independence days, it was only government that had capital to be able to execute infrastructure projects. So you will see the government doing roads, doing rail, doing airports, doing water, doing power projects and all of that, gas projects. But we are now in the 21st century. In the 21st century, capital for projects, for infrastructure projects, is no longer with government, it's with the private sector. There are hedge funds, there are equity funds, there are even individuals like the big guests and the Jeff Bezos of this world that have more money than... Oh well, Nika Gule, unfortunately, we seem to have a disconnection with you. But I was hoping that you would definitely answer the question of how we close the infrastructural deficit gap that we're faced with. Quickly, Nika Gule, can you hear me? Nika, we have to go now. Unfortunately, we don't have you on the line to share your thoughts. But we hope that this conversation will continue some other time. We appreciate you for being part of the show this morning. And thank you so much for tuning in from 7 o'clock up until this moment. We'll definitely return tomorrow. We promise this to be exciting and very interesting as well. If you missed out on any part of it, it would be great to follow us on Facebook, Twitter and Instagram. Subscribe to our YouTube channel. It's a plus TV Africa and plus TV Africa lifestyle. My name is Messi Ibukbo. We join the newsroom at 9 o'clock for the news brief. Stay with us.