continue in them for in doing this you will save both yourself and those who hear you, right? So this is Paul's instruction to Timothy. So it starts by saying, first Timothy 4 verse 12, let one despise your youth but be an example and several things, right, in love, in word, in purity, in conduct and so on. And then he goes on to say, okay, give attention to reading, to exhortation and to doctrine, right? So meditate on that, study that. Verse 14, don't neglect the gift that is in you, right? Just given to you by prophecy. So he's talking about the word, talking about life example, talking about the study of the word. Verse 13, he's talking about the work of the Spirit. Just the gift of the Spirit says, don't neglect it. Just given to you by prophecy, by the laying on of hands. So don't neglect that. So life example, word of God, the work of the Spirit of God, the power of God. Then he goes on to say, meditate on these things. You know, think deeply about these things, these instructions that I've written and give yourself entirely to them, okay, wholeheartedly, without holding back. And so that your progress may be evident to all. So that's the outcome, that's the objective of him giving these instructions and saying, you know, that your progress will be evident, will be clearly seen by all. So just want to read that and put that before us to say that, yeah, so if we want our progress to be evident, to be manifest, here are those, you know, those foundational things again, which are, which seem to be basic, but Paul is, you know, putting that across to Timothy, who is a minister of God, who's overseeing the church, and who has people maybe who are older than himself, obviously. But he has this, this word for him, meditate on these things, give yourself entirely to them. You know, life example, word, work of the Spirit, meditate, let it fill your mind space, let it fill your thoughts, and give yourself entirely. And there will be progress.  And you will, that example will be evident to all. Right. So let's, let's pray that, you know, let's pray that over ourselves and say, Yes, Lord, I want to give myself wholeheartedly to these things. I want to meditate on these things and think about these things, things deeply, I want to retain these things in my, in my heart, in my mind. And I want to see that progress being evident, being manifest in my life, which is evident to all, which will be a blessing to all. Right. Let's, let's pray. Father, we thank you. We thank you for these instructions, Lord, for us as ministers, for us as people who, who are seeking to be trained to be spiritual overseers, and those who are already doing that in some way or the other God. We just pray God that, that these instructions will be written upon our hearts, Father God, that even as we live our lives, Lord, that our lives will speak louder God and in all these aspects in love and faith and purity and motives and intentions God in word and conduct and spirit. And Lord, I also pray that that your word, the living word, that we would desire it, that we would make time to read, study, that we will give attention to it, that we will observe, investigate and continue in it, God. And also God, the things that you put in our spirit by your spirit, the gifts that you've put in us, the deposit of it, God, maybe be careful to not neglect it, but, but at every opportunity, Lord, lean and pull and, and Lord, walk in it, Father God. And as we meditate on these things and as we give ourselves wholeheartedly, without holding back, for these are good things, God, for these are things that you've established in our lives. These are things that you have brought on. So every good thing comes from you. So these are good things. So we don't have to fear. We don't have to be hesitant in giving ourselves to it wholeheartedly, Lord, giving all our effort, all our energy and all our focus, Lord, even as we give ourselves wholeheartedly, we thank you that there is transformation that happens from the inside out, change that happens and progress that happens, edification that happens in the inner man and that just overflows and flows out to bless others as well, God. So we give ourselves to it. And yes, Master, we pray that even as we open our hearts, Lord, may the work of your spirit be the more and more in us, Lord. And yes, Lord, let it be evident, Father God, we thank you. Thank you, Lord, give you all the praise and all the glory. In Jesus' matchless name, we pray. Amen. Amen. Okay. Yeah.  And as we give ourselves to what the Word of God says about money, about success, about prosperity, it'll just make us healthy, you know, have us have a healthy perspective on wealth and prosperity and success so that we are confident that we are, you know, we don't shut out that area of our lives when God wants to bring things into us or bring wealth and finances into us, into our lives so that we can be a blessing to others. Right? Okay. So last class, we looked at about giving. And so, you know, we looked at how we need to honor God with our finances. And it's not that he needs money, but then he had instituted, he had put in the principle of giving in his word, giving as an act of worship unto him in the ways of tithes and offerings, giving to the people who are in need, giving to help others and so on. So, we see that God has actually, the Lord has put this in place in Scripture. So, we looked at that last class. We looked at, you know, why do we need to give? We looked at it because why do we need to give to God, you know, as an act of worship? We see that, you know, it is indeed an act of worship because we are giving wholeheartedly and we're saying because we see Scripture that everything comes from him. We looked at 1 Chronicles 16 and we also looked at 1 Chronicles 29, which talks about the fact that God is the Lord overall, right? Maybe we just quickly relook, take a look at those verses again, 1 Chronicles 16 and verses 27 to 29. Yeah, honor and majesty are before him, strength and gladness are in his place, give to the Lord or families of the peoples, give to the Lord glory and strength, give to the Lord the glory due his name, bring an offering and come before him or worship the Lord in the beauty of holiness. We see how offering, worship tied together and, you know, so coming and offering and giving to the Lord is, it's really an act of worship, act of saying, you know, I surrender, I yield and all I have is yours. When we say all I have is yours, it's also things that I've earned, things that you have given me and I bring it and I give to you, right? Then we see in chapter 29, 1 Chronicles 29 and verses 10 to 14, 29, 10 to 14, where David says, blessed are you Lord, God of Israel, our Father for ever and ever, yours, O Lord, is the greatness, the power and glory, the victory and the majesty for all that is in heaven and in earth is yours, yours is the kingdom, O Lord, and you are exalted as head over all, both riches and honor come from you and you reign over all in your hand is power and might in your hand it is to make great and to give strength to all. Now, therefore, our God, we thank you and praise your glorious name but who am I and who are my people that we should be able to offer so willingly as this for all things come from you and of your own we have given you and we just go down to verse 16. O Lord, our God, all this abundance that we have prepared to build you a house for your holy name is from your hand and is all your own. So, David acknowledges that wealth, riches, honors, everything comes from him and giving to him a portion of it is really, you know, it's really his, so it's really the Lord.  And then we also saw that it's because of our covenant relationship with others. You know, we are part of the body of Christ. As believers, when we accept the Lord, we are brought into that relationship with God, with his people, we are immersed in the spiritual baptized into the spiritual body of Christ and members of each other. So, we are helping one another, receiving help from one another and therefore, you know, we are blessed to be a blessing. So, when we give others, and then we saw that when it comes to spiritual things, when it comes to material blessings, that God loves us, a cheerful giver, and he is pleased when we give cheerfully for the work of the kingdom for two others as well. Then we also looked at, I think this is where we stop, we looked at some of the reasons, when we looked at Tithe, we see that it is there, you know, it starts originates, let me just share the screen. Yeah. So, we see that it, you know, when Abraham is called Abram, he gave a Tithe of spoils of what he took from the war, from the battle, he gives it to Melchizedek. And from what we know of Melchizedek, we see that, you know, he's a type of Christ, a priest, we see in Hebrews, we read about that is the order of the Lord Jesus is referred to as a priest, according to the order of Melchizedek. So, these are some things that we learn about him. And Abraham gave a Tithe to Melchizedek, one tenth Tithe the word, Tithe refers to one tenth. So, first foods of the increase, Proverbs 3, 9 talks about that. Right. So, about the Tithe, we also see that the Lord is, he refers to not really bringing the Tithe as, as robbing him as the Israelites were doing. In Malachi, we see that. And the Lord saying that, you know, why don't you test me in this, I will open the windows of heaven, I will rebuke the devourer for your sakes, and so on. Right. So, we read about the tithes here. Now, some of the reasons we also looked at that, why do people not type? Okay, maybe there is a lack of teaching, lack of knowledge, maybe, maybe it's fear, maybe it's people saying that, okay, I don't want to be manipulated into this, I don't want to be forced into this, or I've had a bad experience of people, you know, exploiting, right, my generosity, and people manipulating, and maybe it's, it's just a fear, you know, what will they do with it, and are they using it right, etc. Maybe it's selfishness, you know, I don't want to part with my hard earned money. And it also comes from a place of wrong understanding, right, of scriptures, or there could be some, you know, religious lies, which is again part of wrong understanding where tithes part of the Old Testament, and I am a New Testament believer. So, you know, like, like the many things which have stopped, which is discontinued, tithes another thing, which is there. So it's part of the Old Testament law is one such, you know, reasoning, maybe, but that's that reasoning is faulty, that logic is faulty, because tithing was in place as a principle, even before the law came, that is what we saw, even before the law came into force, we see that tithing was there. Before the law came through Moses and God gave the law through Moses, tithing was there. And, and we also saw that scripture where Isaac tithes and obviously, I mean, that I changed that reference, it's 28 Genesis 28 and 22, not 29 22, where we see that Jacob has a, you know, Jacob says that I will give a tithe of all. And obviously, it was something that was handed down a teaching or a principle, or a tradition that was handed down across generations. So we know, obviously, he had an understanding of it. And he was, he mentions that, right? So, so it's part of a common relationship, and, and not really part of the law. Okay, as we understand it, the, and the other thing, reasoning could be tithing ended at the cross. Okay, so yeah, there are many things that, you know, we saw that they are discontinued at the cross, right, like the blood sacrifice. Yes, because we see, we see that very detailed procedure for the sacrifice, how it should be made, and, you know, what kind of animals, etc. We see that in the Old Testament, we see that in Exodus, we see that in Leviticus. And we see, we also read that when it come, when it came to the cross, you know, all these were types and shadows of what the Lord Lord would accomplish on the cross. Right. So on the cross, we saw that he shed his blood, which was a final sacrifice. There was no more requirement for any more sacrifices. Like in the Old Testament, we saw that there was continually the, the high priest would, would offer for himself and, you know, for the people that it would be, it would be offered continually. But here, we see that it was the final, the perfect sacrifice. Right. We see also, I think that's where we stop. The other thing that we see is access to the presence of God, access to the Father, like in the Old Testament. Again, in the tabernacle, we see that the high priest, and only the high priest would have access to go to the most holy place once a year. Right. But all that changed. And we see that, that we have been given access, and we have confidence to, to enter the holiest place. Right. Let's read that scripture, Hebrews 10. And verse 1920, Hebrews 10 and verse 19, therefore, brethren, having boldness to enter the holiest by the blood of Jesus. So it's talking about what happened on the cross, the blood was shed. And now we have boldness, we can, with boldness, enter the holiest by the blood of Jesus, by a new and living way which he consecrated for us through the veil that is his flesh. Okay. So we have access to his presence. We have access to the holy of holies. To his, to his very presence and access, I mean, sorry, Hebrews 4 and verse 16 also says, therefore, let us come boldly to the throne of grace that we may obtain mercy and find grace to help in times of need. So we have, we have been invited. And the way has been made by the shed blood of, shed blood of Christ. Okay, so, so therefore, now, you know, we have unlimited access to the, to the God head. Now we have unlimited access to God through the blood of Jesus. So all that has changed because of the cross. So there are certain things that have been mentioned very specifically, this has changed the blood sacrifice, the sacrifice, let us change the access to God. Well, that is, you don't have any middle man, we, because of what Christ did, he is the mediator, and he, you know, we can come to him directly, we can come to him with confidence, with boldness. Let me just read one other scripture. Yeah. So this is reading from Colossians. I'm sorry. I think I'll just get the reference in a bit. Colossians too. Okay, I'll just get that in a bit. So we, we, so we have access to God, we, and all that changed. We, we can, we have boldness to enter into the presence of God. And, you know, so these things are mentioned very clearly that it has changed. But there are certain things that are, that are continuing, as it is. For example, when it comes to the worship of our Lord, when it comes to praise and worship, and the way in which we worship him, we see in the Psalms that well, people worshiped him. You know, there's several expressions of worship, right? We see musical instruments being used, we see the shouts of praise, we see, we see dance. We see, we see applause, clapping unto the Lord, several and one, you know, typical classic reference is Psalm 95, which talks about, you know, several postures or expressions of praise and worship, right? Psalm 95 will come, let us sing to the Lord, let us shout joyfully, let us come before His presence with thanksgiving, let us shout joyfully to the Lord, and so on.  So we see all these expressions of worship and using of musical instruments, which we read towards the end of Psalms like 147, 148, we see there's the clashing symbols and talks about, let me just read from, yeah, 150, you know, loot and harp and trumpet and timble and dance, stringed instruments, flutes, loud symbols, clashing symbols and so on. So they come to, you know, the New Testament, well, we see John chapter four, verse 23, the Lord Jesus says, those who worship the Lord must worship in spirit and in truth. And that's the only thing that we see, because the Father is seeking such to worship Him. So there's nothing very descriptively or, you know, says that mentioned that we should continue, discontinue using of Old Testament, you know, the instruments or the act or the postures and worship and so on. The only thing is, let it be in spirit and in truth, let there be no hypocrisy. Right? But there is that freedom as long as it's spirit, which is comes, you know, which is just from this, it's not superficial. It is from your, from the depths of your heart and as led by the Spirit of God, and it is in truth. Right? So we be worshipping as laid down in Scripture. So we don't see anything that is says that this is discontinued. Okay, so it's continuous. You don't see any, you know, description or any open X or I mean, instruction in the New Testament. Okay. So also with typing, right? When it comes to typing, we see references, like in the Gospels, we see the Lord Jesus, let's look at Matthew 23. It's interesting 23 and 23. Yeah. So the Lord says, what do you scribes and Pharisees, hypocrites for you pay type of mint and annies and cumin, and have neglected the material, sorry, weightier matters of the law, which is justice and mercy and faith, these you ought to have done without leaving the others undone. So he's just referring to the offering of tithes or, you know, the payment paying of tithes. And he's saying, Okay, some things you have emphasized at certain things you have not the weightier matters of the law, which is justice and mercy and faith. So these you ought to have done. But the fact is that you have not done these we ought to have done without leaving the other thing undone. Okay, so his references to the tithe and he's saying, justice, mercy and faith, by all means, we need to do it without leaving the others undone. Okay. And the other thing that we see in 2221. Okay. We saw that last time, render therefore to Caesar, the things that are Caesar's and to God, things that are God. So we see these scriptures there. So tithing as something that is instituted by God would continue, right in the in the New Testament as well. So there's no reason for us to discontinue. And, and we don't see see that being mentioned. And the Lord Jesus says, you know, I came to fulfill the law and the prophets not to destroy it. Okay, so, so we can, we can, it is safe to continue with tithes and offerings and maybe if it is arms, arms is for the poor to the people. Okay, so we honor God in our finances in these ways. Okay, so I hope that clarifies anything that we might have about tithes. You know, so some people have questioned about tithes. Okay, where should I give it now? Okay. Where should I, where should I give it? Because in Malachite says, bring all the tithes into the storehouse. And those days, there was one, but now you know, you have one in the sense, you know, the temple being one, one place, but now we know that, you know, there are local churches. So where, where do you give your tithes? So tithes is the practical instruction would be, where are you planted? Where are you planted? Where you are receiving spiritually? And where are you planted where you are also serving? And the bigger question that is to ask is, you know, are you planted? That's the thing, right?  So, so that's the thing, you know, are you planted? Which, again, you might have some reasoning, okay, there's no, you know, I find that everywhere I go, I find there are problems, there are, you know, there's some challenges there. Yes, you know, we are all works in progress, we will not have a perfect church. Okay, there will not be a perfect church. But then you can ask God, Lord, show me a place where yes, people are then where the word of God is being, you know, shared in a manner that's uncompromised, where there is, where people are growing, where the ministers are also growing, but they're working at it, they're sincere. And they work walking in the light of what they know. So where do you want me to be planted, be planted in that place, support the ministry, the work of God with your tithes and offerings. Okay. Yeah, so that would be a practical instruction. Right. So then, you know, some other questions could be, you know, I'm not in a position to type.  Right. So in our own mind, we set, you know, these amounts, and say, okay, this is a fair amount to give, and this is not. But the Bible just says a 10th, right, 10th to start with, it is just a minimum, right. So, so do it as an act of faith, you know, whatever it is that, that you're earning that comes into you, comes into your life, you know, financially, take that set of faith and use it. And let's say, saying, okay, it's, it's, it's packed, you know, I receive 100 rupees, and this 100 rupees, there is a list already. Okay, one to 10, you know, I need to fulfill all this, and without that, and everything is important, it's not that I cannot. Right. So, fine, just trust God, just ask the Lord. It's like we said, you know, it's, it's, it's a, I think it's an act of relationship, and an expression of your relationship with God. Right. So ask the Lord, say, okay, God, you know, I need to be able to do this. I want to do this. I want to worship you with my tithes and offerings. But, you know, can you just surround me with your favor? And can you take me to that place where I'm able to do this? Okay. So, yeah, so it's, it's real, you know, the challenge is real. And I don't want to say that, okay, you need, you must, you definitely must do it. And otherwise, you'll incur the wrath of God. You know, it's, it's an act of relationship. It's an expression of your worship to God. Ask the Lord, Lord, you know, bring me to a place where financially I'm able to do this God, right now with things are tough, very extremely tough. Right. And the Lord will. The second thing is to say, okay, I just have 100 Lord, and I want, even with this 100, I want to, you know, honor you. I want to give a tithe of that. And because the Lord says, trust me in this. Okay. So you go ahead and do that. But, but you decide. Right. So, yeah, these would be some something, some questions that are reasonings that we might have about tithes and about offerings. So I just wanted to share that. So are there any questions or anything else that you would like to share in addition to this? Maybe your own personal experience regarding tithes, regarding giving. You can feel free to share. I think at all. Okay, I don't see anything on the chat. So I guess all is well. Feel free to, you know, if there are any questions, anything that you want to add, you can feel free to share. Right. Okay, let's, let's move on. The second, the other thing that, you know, when it comes to, we're looking at the principles, right? Principles for prosperity, which is divinely ordained or divinely inspired, divinely orchestrated. Prosperity of increase, finances, that God blessings that God brings into our lives, right? The thing is to listen to the Holy Spirit. Okay, so while we look at these principles, we are talking about the presence, we're talking about the reality of the relationship that we have with God. So we have, you know, it's not just, when we look at principles, it will seem as, okay, step one, step two, step three, I need to do this. Okay. But part of the principle is also the presence and the reality of the relationship that we have with God, a living relationship. Right. So because we know that God is alive, he speaks in the here and now. Right. So as, as believers, we are privileged to hear the voice of the shepherd, not just at, you know, at the crossroads of our lives, or those defining moments, those difficult moments of our lives, but on an ongoing, every day, every moment, journey of our lives. Right. So we have this privilege of fellowshiping, communing with the Holy Spirit. Right. And, and that's the biggest, I mean, that's the greatest thing of all when it comes to a walk with God, that we have the God of the universe, fellowshiping with us, communing with us. And that's what the Lord, you know, promise when we look at the, you know, in Revelation, we see that if he I stand at the door and knock, if any man open, I will come and I will fellowship. I will step in and I will fellowship. Right. So that's the privilege that we have. So listen to the directions, the prompting of the Holy Spirit. Okay. Don't be led by guilt or condemnation of fear. But listen to the Holy Spirit. We have the principles. Okay, God, this is what, you know, you want me to do, I'll do it. As part of the principles is also this instruction of listening to the Holy Spirit. Okay, let's look at a few scriptures. Let's look at Isaiah 48. Okay, Isaiah 48 and 17. Okay, this says we saw it earlier also. This says the Lord your Redeemer, the Holy One of Israel, I am the Lord your God.   So the outcome of that if we heed to his commandments, then the shalom of God will be like a river ever flowing and like the waves of the sea, you don't see it just stop but you know, it just keeps coming and going. So sorry, he's talking about the righteousness. The shalom is like the river that flows. So the thing is this, the Lord says, I'm the Lord your God who teaches you. Okay, so what do I teach you? I teach you to benefit. I teach you to profit. Okay. So what is my responsibility? Okay, because he teaches me, also he leads me by the way I should go. Okay, he directs, he leads. So my responsibility is to learn. And my responsibility is to listen to find out where he is leading to learn to follow. Okay, to learn to follow the leading of the Holy Spirit. It's a big thing. It's a foundational thing, but it's a big thing. Like in all areas of our lives as believers to learn to follow the leading of the spirit when it comes to financial decisions, when it comes to money, when it comes to prosperity, learn to follow the leading of the Holy Spirit. Okay, another scripture.  Okay, this is something that we look at even when we look at workplace principles, and the wisdom that is there in workplace, in scripture about profession and workplace and so on. So here is something that we see Isaiah 28 and 23, 23 on words, those six verses, seven verses, give your and hear my voice. Okay, listen and hear my speech. And then the next six verses, next five verses, talk about some very practical information, very, very practical information. It's regarding agriculture. But you see the depth of understanding, it comes from the one who actually created, right, created the plants who set in motion the creation itself. Right. So we verse 24, just quickly go through it. Does the plowman keep plowing all day to sow? Does he keep turning his soil and breaking his clods when he has leveled the surface? Does he not sow the black cumin and scatter the cumin plant the wheat and rose and barley in the appointed place, and the spelt in its place? For he instructs him in rice, right judgment, his God teaches him verse 26. Okay, who instructs him? He God instructs him the farmer, the one who's plowing. And he instructs him in right judgment, right judgment to make to discern from all those choices, all those pros and cons. And he instructs him, right, and teaches him. For the black cumin is not threshed with the threshing sledge, nor is a cartwheel rolled over the cumin, but the black cumin is beaten out with a stick. And the cumin with the rod, bread flour must be ground. Therefore, he does not thresh it forever. Break it with its with this cartwheel, or crush it with his horsemen. Verse 29, this also comes from the Lord of Horses, who was excellent, who was wonderful in counseling, excellent in guidance. Okay, so 23, give your and hear my voice, listen, and hear my speech. 26 for he instructs him in right judgment, his Lord teaches him. So here's this instruction that as he gives and he says in verse 26 for he God instructs in right judgment, God teaches verse 29, God who is wonderful in counseling, excellent in guidance. So we have, you know, again, we have the privilege of worshiping, we have the privilege of following, walking with God who is excellent in counsel, who's wonderful, excellent in guidance wonderful in counsel, he is called the counselor. Therefore, our responsibility is to learn to hear, learn to listen, and learn to follow the teaching or the leading of the Holy Spirit. Okay, and which is what Daniel did, Daniel chapter two, and was 19 to 23, says Daniel blessed the God of heaven. Blessed be Daniel answered and said blessed be the name of God forever for wisdom and might are his. He changes the times and the seasons, he removes the kings and raises up him, he gives wisdom to the wise and knowledge to those who have understanding, he reveals deep and secret things, he knows what is in the darkness and light dwells with them. And then he, you know, praises God and he says, you have given me wisdom and might and have now made known to be what we asked of you, for you have made known to us the king's demand. So, so, you know, Daniel just worshiping God, just praising him when he the secret was revealed in a vision to Daniel, my heart just overflows with praise and he says, you know, this is what she this is who you are God, this is what you do. So, since God has the know how, since God has the information, we can trust in him. And we can ask him when it comes to financial decisions, when it comes to God, like, I need this. And now you show me Lord, what do I need to do?  Recently, I was reading a testimony about, well, this is not directly related to finances, but definitely with the, you know, workplace testimony of this person who, like many years ago, he had a, now he's in ministry, but he had a, you know, a mechanic kind of a business, fixing four wheelers and trucks and so on. So, there was one particular problem. And he was, you know, he, and this was the time and as a church, they were just exploring or learning about the supernatural, the gifts of the spirit, and, and putting, taking those baby steps and putting it into practice in their daily lives, you know, it's not just about church, it's not just about during the church service, but in, it's in daily life. So he had a problem with this particular new, new model and new range of trucks. Now, so the client sent that truck to him for repair and he tried checking with the company and there was something the truck would not start at all. It actually sees it somewhere. Everything else seemed to be fine. It would not start at all. So then he remembered, hey, you know, this is what we've been learning about the gifts of the spirit, about word of knowledge, where God is able to impart that information, the Holy Spirit, who knows everything, is able to impart that information to us, right?  So he said, okay, let me do that. So he made he went and laid hands on the truck, you know, hoping, hoping that nobody would watch. Nobody was watching any prayer. And he said, Spirit of God, Holy Spirit just revealed to me, what is wrong with this truck? I've tried everything. It's not.  And it was a picture of some section behind the fender behind the bumper of the truck, like internally. And where there was a particular diode, he says diode which is which was not soldered or something. So but that was a picture. So he hadn't thought about that before he hadn't seen it in any of the manuals. But this is a picture that he had. So immediately he, you know, put the truck up, and then looked under the, you know, thing and then he saw that yes, that was it. It was not soldered. It was not in place. And then he he put it in place, soldered it and started the truck and the truck started.  He made known this, and it was a practical solution for a practical challenge that he was facing in business. So when we're talking about finances, when we're talking about prosperity, stewardship, one of the important things is to listen and follow the leading of the Holy Spirit. Like now, now this is exciting, but sometimes it is not always it can be challenging. Like when the Lord says, okay, now give to that person, for example, we're talking about stewardship, he says give. Just one quick example, and then we'll close, you know, I was saving up money for to buy a car, a second hand car. This was before our daughter was born, like one day, I have taken my daughter I mean, taking my wife for to the clinic and she was we were expecting our child. So I went by bike and as I came back, it started raining and it was pouring and I was feeling so miserable.  So I had some money in the bank, I said, Okay, this is not enough. And I will.  So we came to know about it. And we thought, Okay, let's ask some friends, right? And as we were thinking, Okay, maybe we should ask some friends who had money to give the Lord just put it in my heart. Why don't you give that? I wanted to give the money that you've been saving up for this particular thing. So I said, But God, you know, started reasoning, but then this was this conviction was very strong. Give that, give it. So literally emptied. Okay, it was it was a it was a very difficult thing for me to do because we were in need ourselves. And so just took that and gave it. Okay, now, here's the best part. I don't know if you how you see it. After we gave after I gave the family moved from that, you know, they took care of that debt, but the family moved from there. And till date, you know, it's been maybe, I don't know, maybe 15 years, 20 years. We don't we haven't heard from them. We don't know where they are. They have not repaid. It was supposed to be something that was repaid, you know, heard from them. But that thing that instruction came from the Lord. And now this is the thing, you know, the Lord ensured that I bought a brand new vehicle, not a second hand, I was hoping for a secondhand vehicle. Lord ensured that I brought I was able to buy a brand new one. Right. Through very many things that happened, just to cut the story short. But the thing is, when you listen to the leading of the Holy Spirit, it need not be always comfortable. Right. It can be challenging. But he has a good reason to lead you in a certain way. Right. And he always has the good in mind for us are good in mind. Right. So just want to share that and we'll stop here. And we'll continue next class. Okay. Right. God bless. See you guys. Bye bye.


Detective Wary, how may I help you? My name is Carissa Wary, and I'm assigned to the Missing and Exploded Persons Unit with the Denver Police Department. Our unit, we are so busy, and we're dealing with everything from child neglect, to physical abuse, sexual abuse. So sometimes it can get very stressful. And so it was recommended to us that we find some type of activity outside of work to do. I turned 40 in January. And so I decided that I wanted to make a change. And I wanted to get more fit and healthier. So I started going back to the gym. At the beginning, it was just stepping foot inside the gym, going to the gym and making sure I committed to that. As I was in the gym more, I started to meet more people that competed in fitness shows. This was a new world to me, so I started to do a lot more research. And that became my next goal, was to compete in a fitness show. A lot of people know what bodybuilding is. They think of people like Arnold Schwarzenegger. And so for women and also men, they have what's called a physique category, where it's one category below. So you don't have as much muscle mass. My first show I competed in was March 21 of 2015. And that show actually won my category for women's physique. As I became stronger in the weight room, it seems like I became stronger mentally. My investigative skills, I became sharper. I mean, being healthier encouraged me to do everything better. I competed at the Rocky Mountain Championships on November 14. I took first place in my age group category, first place for first time competitors. And then I took the overall masters, which is you have to be 35 or over. My daughter, she's my number one inspiration, because she actually would come to the gym with me. She would help me with couldn't weights on for me. My mom and my sister actually would go with me as well. So they were there the whole time from the beginning to the end. When I got into this, it wasn't to compete. It was just to feel better. And so if I can just give anyone any advice on how to accomplish their goals and reach their goals, I would tell them that it's a process. And don't expect changes in one day. Know that it takes commitment and follow through.


Which of the apostles were inspired? Which of the prophets were inspired? Well, the answer might surprise you. This issue of inspiration is a vitally important question and issue because whether we think about it or not, it actually shows up a lot. The question is how do we know if someone is being moved by the Spirit? How much should we take into account from saying so? And as we look at the Bible, are the scriptures the product of men who were inspired by the Holy Spirit? And the question has to be asked, what does it mean to be inspired by the Holy Spirit? Well, there is a big issue at hand here and it's vitally important that we get this correct. And because we tend not to get it correct, we have a problem here in America and in other countries of people claiming authority that they have no right to claim. As a matter of fact, claiming authority that no one in the Bible claimed. Let's go to the passage in 2 Timothy chapter 3. This is where people get kind of tripped up, I believe, on this issue of being inspired. Now, before we go there, I recently put out a poll and I just wanted to see where people were thinking. The poll asked this question, which of the apostles and prophets were inspired? And over 90%, 95% at last count, believe that all of them were 2% said just the apostles, 1% said just the prophets, and 2% said none of them. Well, what's the correct answer? Before we get the answer, let's go to the scriptures and then let's let you look at it. Notice what he says. All scriptures, this is Paul speaking. All scripture is inspired by God and profitable for teaching, for reproof, for correction, for training, and righteousness. Notice what is inspired. The scriptures, he says, all scriptures, pas à graffit, that is what is inspired, not the people who wrote it. Now, is that kind of just being being semantical, kind of parsing hairs, splitting hairs? No, it's not. And the Bible wants us to know that it was not Paul that was inspired, nor was it Peter or John or James or Moses or Ezekiel or Jeremiah or Elijah. It's not that they were inspired. No, it's the words that they wrote that were inspired. Before we get to that, let's go back to the passages again and let's look at what this word inspired actually is because that question also needs to be answered. Where we get the word inspired comes from two words put together, Theia Nustas, the Theia, which is from God, and the Nustas is breathe. So, God breathe. Well, what's God breathe? Well, clearly not the apostles. How do we know so? Same with the prophets, because to be God breathe would also have to entail being perfect or being infallible without flaws. Well, God's word is, but are the men perfect, flawless, without error? No, they're not. Peter goes on to tell us in 2 Peter 1.20 he says, but know this first of all, that no prophecy of scripture is a matter of one's own interpretation or the word that's used here is by two words, epi and then luo, which is by them putting together. And so this word, epiluceos, no one has done that on their own for no prophecy was ever made by the act of human will. But men, look what it says, moved by the Holy Spirit spoke from God. In other words, what we have, we have men who spoke and their words were inspired, but they themselves were not. How so? As the Holy Spirit, as Peter is saying, the Holy Spirit moved upon them and then they spoke from where? From whom? From God. So the words that we have are inspired, but not the people. And there's an important point that needs to be made before we go to there. Let's also notice that Paul, who is in Berea, he's speaking, he's giving instructions, he's giving the word, but notice what happens in Acts 17-10. He says, and the brothers immediately sent Paul and Silas away by night to Berea. Now verse 11, notice what happens. Now, these were more noble minded than those in Thessalonica 4. They received the word with great eagerness, examining the scriptures daily to see whether these things were so. Notice, we don't have really that happening with Jesus, when Jesus, who certainly obviously is at a level that the apostles are not, or the prophets are not. You don't go and research what God says. If God says something, it's what God says. But with Paul, let's check it with what? Let's check it with the other scriptures that are also inspired. Not the person, but if what he says is inspired, then it's going to line up with the scriptures. That's what the Bereans were doing. And notice what Paul says also. Paul is being, because of the miracles, because of the signs and wonders that are happening at his hands, as well as Barnabas, the people think that he is Zeus and Hermes. And so what do they say to them? Going, saying in Acts chapter 14 verse, let's say in 15, he says, men, why are you doing these things? We are also men of the same nature as you and preach the gospel to you, that you should go in turn from these vain things to a living God.  There's nothing special about us. As a matter of fact, even for an Old Testament person, going to James, James says the same thing, James 517 says Elijah was a man with a nature like ours and he prayed earnestly that it would not rain. Why is that important? He's trying to get them to understand that there's nothing special about Elijah, but it's a connection with who? With God. These men were men who had fears, who may have had doubts at times, who may have done things that they probably should not have done. You think about Peter having to be confronted by Paul with how he was treating the Gentiles as the Jews approached. You think about Paul himself saying in Romans 7, the things that he wishes not to do that he does. Well, that's not a person who is inspired or God breathed. Now, does that mean that everything that Paul does or Peter does or James would do or John or Moses or any of these men? Does that mean that any and everything they do is correct or Godly? No. They are, as they said, mere men. As a matter of fact, everything that they spoke is also not inspired. First Corinthians lets us know that Paul had had communications with them before. None of those were considered to be inspired or at least worthy or rise to the ranks of being in the canon because every time that Moses may have spoke or Paul may have spoke or John may have spoke, that doesn't necessarily mean that that was inspired by God. Because if they were inspired, then everything that they say or do would also be on the level of what God is doing. What they do is not inspired. What they say is not inspired. Only what is given to us in the scripture that God gave to us, as Peter says, where the Holy Spirit moved upon them to write these things. And so we have to be careful. Now here's why this is very important. Many of you see and hear people speaking about how they are speaking for God, how they have heard from God, how God is saying things. So what are they doing? They are putting their words on par with God as though God has spoken to them and they speak to you. Well, what does that mean? That means God is breathing out into them what to say and they make it as though they are inspired to say whatever. Well, how do we check that? How do we compare that? Well, we can't. Therein lies the problem. You can't compare that with scripture because they're not going off scripture. They're going off of what they say. The Lord told me or I heard the Lord or I heard the Lord or the Lord was working in me or I was in the spirit. Things like that, they cannot be verifiable. And what do we have? We have people being led astray because people are placing a higher value on the man or the woman versus the scripture. And therein lies the problem because our confidence is not in the man who wrote our confidence. It's not in Paul. Remember Paul is the one who says imitate me and he didn't put a period there. He says imitate me as I follow Christ. And so who we ultimately are following according to Paul would be Christ, not him. But these are people who we don't put our confidence in them. We put our confidence in the word because the assurance is in the word. The priority or the place of rank or authority is the word, not the person. If you think that a person is inspired, then what ends up happening is you have a lower view of scripture and a higher view of the man. Our confidence is not in man, nor is it in the man who wrote the scripture. Our confidence is in the scripture because it was though it was delivered by man, it was breathed out by God. And the interesting thing is how God would even use even their personalities, their writing styles. Paul writes differently than Luke. Luke writes differently than John. John writes differently than Matthew. Matthew writes differently than James. Moses writes differently than Jeremiah. All these things that are brought out, but God uses all of them to say exactly what he wants to say. And everything that they say, the things that are inspired, the things that are God breathed is exactly what the Lord wants for us. But we cannot allow the view of a man rise to the level of our view of scriptures. If we do, then we'll have what we have today, people coming up with their own sorts of interpretation and leading people astray. Also what this shows that it is easy for people who love the scriptures to miss something that can, I think can be pretty obvious, but you can get kind of caught up in it because I asked a question a certain way to see who would go to the scripture and look and compare that with the scripture. The scripture again does not say that the men who wrote it are inspired. It just says all scriptures is inspired. We don't have one passage, not one passage that tells us that a man of God is ever inspired. The only one that rises to the same authority and even higher than the word is Jesus who honors his word. And so guys, I just want to be careful about how we treat and view even the apostles because if we venerate the apostles and that office, then no wonder why people come today and want to claim themselves to be apostles and prophets. But if we put the word above everything else, then there's no way that someone can come and say or claim to be in the office of the word. That can't be. So they take advantage of our misunderstanding of what the text is saying and thinking that we think highly of the men, they want to be highly thought of as well and claim to be in that same role. But it's clear what's inspired isn't the man, it's the word of God. Amen.


Welcome to Wednesday dude. We need like a professional name for this guys, but it's Q&A with Cody every Wednesday at 2 Derek Duker one of our new guys. He runs our social media our blog and our email list He actually asked the questions that you've submitted so we had a lot of good questions So first I want to say thank you so much for submitting those questions today I'm going to answer those because we got a lot of questions from new agents experienced agents Especially on our YouTube channel a lot on our Facebook a lot are directly messaged us We had one come in last night. I believe that we added to the list And also if you if you have a little context to do to add like name and state, you know eventually then that'd be cool, you know just to Let you know that you know, they're not making them up and then I'll believe you Now they're legit. We had a lot of people submit them. Thank you for the questions We're going to answer those right now. I say we jump in What do you say you ready? Ready. Let's do it, bro. What do you got for us? What are some good systems you've implemented to maximize efficiency and save time? Oh, okay So what are some good systems that you've implemented to maximize efficiency save time? I forget he's mic'd up I don't have to repeat that. Okay, so what I do is One of the things that's one of the things I'm focused on for 2019 is being more efficient one thing that I do There's two things that I do that help me be more efficient. I every Sunday night Well, I would say obviously you guys know I write down goals every morning But the the main one is every Sunday night I put together a to-do list every Sunday night I spend time saying okay These are the things that I have to accomplish this week and then I set out to actually Accomplish them because that's one of the things I'm learning is a week can just fly by it can be gone and before you know it You didn't anything done like life happened. You were busy. You took a lot of calls You responded to a lot of emails you went to the bathroom a lot You drank a lot of water you drink a lot of coffee you had some meetings and before you know it But antipuff the whole week is just gone. It's like the whole thing is over and Imagine that so let's be more efficient Moving forward from now on I need you guys along with me. You hold me accountable I'll hold you accountable. We will all continue to be more efficient moving forward, right? I mean, it's really okay. I'll see these guys to in the studio You're really is there anything that you guys see that helps us be more efficient in What we do obviously you guys know I plan for the week You know, I write down goals, you know, we do the meeting every morning to get the whole team on the same page We do marketing meetings. I also do one-on-ones every month to set expectations Responsibilities and a timeline for every person that's on my team because it's super easy for us to just go through the motions And get nothing done So that's one the biggest thing is focusing on what actually moves the needle is the best way to be efficient I think it's a it's a simple answer, but I believe it's the best answer How many leads do I need to have for it to make sense to have an appointment setter? Okay, I would say Mmm, goodness, that's a good one.  It's got to be over 30. I'm thinking like 30 40 50 leads Because at the end of the day you've got to get in front of people and if you're not great on the phone Or if you personally know that you're not going to be self-disciplined enough to pick it up then either pick up the phone or Hire someone to do it for you like either be self-disciplined and stop being lazy or just hire someone to do it And I think it's on a case-by-case basis But I would say if you're north of 25 30 then then that definitely helps because you need to exhaust those and that's a lot of calls What's the one thing agents should be doing to prepare for the new year? Oh Okay, one of the biggest things I notice is nobody nobody has a plan. There's no goal for the year I was I was only successful my first year when I made 117 K in eight months 19 20 years old in college playing basketball. I was only successful early on because I established a goal I wrote it out. I signed it have my father sign it and we put it on my wall I think that's the biggest thing is you've got to figure out. What do you want in 2019? What is your target? What would you like to hit? What would you all like to achieve and what steps do you believe do you need to take to actually hit that? That's I mean, I would I would do a lot of reflecting I always do a ton of reflecting over the holidays because I I Still work, but it's you know, there's a lot of family time. You're sitting on the couches looking at people and Acting like you're listening, but you're really thinking about your business and how you can blow up point 19 Did you maybe maybe maybe you guys too? Maybe I just need you better listening But think about some ways that you can be that you can actually achieve a goal So if you're like an average agent you're making like 48 grand a year, how do you make? How do you make a hundred grand? How do you make a hundred and fifty grand and then set a target for yourself for 2019? Publicize it. I love putting pressure on myself. I've got a big goal like a personation was a big goal I love putting pressure on myself to achieve that big goal So I'll put a video up of me saying hey, I'm doing this either you get on board or Be on the sidelines and watch me, but I am making if I'm an agent. I'm making a hundred grand in 2019 Watch me on my journey and then I you put pressure on yourself. So that's a target Put pressure on yourself make it public. That's how you really know someone actually cares about hitting their target if it's private they don't believe it like once you've made it once it's public they believe it and And then write it down every morning Because then you know what you have to do What's the biggest mistake agents make when calling leads? Mmm-hmm The biggest mistake agents make when they call leads There's several but if I had to choose one because you guys know my favorite way of getting someone to pick something is Hey hypothetical if you had to choose I'm gonna do that on myself right now if I had to choose one I would say that it's they don't sell a drop-off time. They don't sell a time to drop off the information They talk too much. They get too much information. They give too much information They get too much information it becomes too much of a dialogue too much But back and forth like the call shouldn't last long the call should be The person answer the phone you say Betty. Yeah, this is Betty. This is Cody I'm getting back to you about your request for the new final expense information now Betty The only reason I'm calling is I'm the local field underwriter and I've been assigned to your area I'll be out there in the Lebanon area on Friday. What do you think's best? What do you think is best Betty? Should I drop this information off in the morning or in the afternoon? Like what part of that pitch that actually works and you see me do it live on video from Jamaica What part of that pitch did I ask about health? Did I say the word appointment did I say the word life insurance that I say the word agent did I say the word insurance agent did I Did I ask about tobacco or height and weight or give them a quote or make sure they're gonna be there or You know tell them it's not free. I mean I just I Selling drop-off time.  Is this avoidable. Hmm. I Remember this one. So so there's an agent that buys when I'm out of worry buys leads. He says hey some people think it's free. It's Not avoidable totally it's always gonna happen final expense is a lower-income demographic. It's just going to happen. Okay There's ways. I mean normally when that comes I don't get that come up like I asked my wife this morning I said hey, I talked to four leads on video in Jamaica. How many of them said they thought it was free? None because the word tracks and the things that I say don't lead to Anything other than me dropping information off So price is not like it doesn't cost anything for me to drop it off but a response hype I mean normally if it comes up the agent is doing something incorrectly for it to come up Hypothetically if it were to come up It shouldn't but if it does because I guess it could someone could just randomly say does this cost anything, right? Or I thought it was free You can say Now the that this is for information to help cover the additional cost because the government so security does pay out of $255 death benefit, but that's all My time is free. It's complimentary the company's paying for that and The information is also free and complimentary. So because you responded I've got to give it to you I've got to bring it by our mornings or afternoons generally better It's agree Answer and ask and I let them know that the information is free I'm free that the government 250 dollar death benefit is free and all these other things and then ask a question So that's a great response. It shouldn't come up a lot if it does the agents just is doing something incorrectly I don't get it much when I do. That's what I say How do you sell insurance to people who have it through work? Okay, so I think we got this question a couple weeks ago with work say hey, I have insurance through work You know what I always tell them hey, it's like renting versus buying a home Most people that I know that I do business with prefer to own something Having insurance through work You're renting it because if you get fired if you get sick if they let you go if anything happens The company goes under they go out of business. Guess what? You don't have any insurance anymore because it's Temporary you're renting it most people. I know they only buy insurance for one reason And that's to make sure that it actually pays out in the event of their death There's no reason to make a Possible scenario out of that or a potential scenario when you rent something So let's make sure that you own it and then it actually takes care of what you need I'm assuming that you would like that, right? That's a question because I don't believe in say anything a rebuttal without a question What is my best plan of improvement if I'm getting in front of ten people weekly, but I cannot close 40% Okay, so if an agent's sitting with ten, but they're not closing 40% There's been times where I didn't close 40% I've got two answers the first one is if you're cold-calling your cold door knocking. Yeah You're probably you may not you know But some ways if you're working leads or people who actually have interest some level of interest That's what elite is then I would suggest to I would suggest Say the second part of that again say the ending of that again do it real quick If I'm getting in front of ten people weekly 40% right? Yeah, but I can't close 40% to get above 40 to say it like half or At least half it always comes down to two things It always comes down or I would say I would say three things it comes down to the relationship that I'm building with the prospect it comes down to Me actually going over the benefits and getting feedback and them seeing the value And it has to come down to not talking price or showing price or talking budget until the end When I actually show them options and I show them three options in descending order if I do those three things I felt like I've accomplished those I always make the sale 100% of the time if I have a relationship with them We get along they feel like I'm a friend. I'm getting there. I'm earning their trust great check if I'm Providing the benefits and they actually see the value in what I'm talking about and they're engaged Check and if I show them the right options in descending order and get them to choose one check When those things three things aligned I make a sale when they don't Or only two of them aligned. Maybe I've got a relationship and maybe I show benefits Maybe maybe maybe the whole conversation was about budget and how much they can afford.  Who cares? then At that point if only two of the three are involved Then I may not make the sell if one out of three are involved I won't make the sell if all three are involved. I will make the sell So there's a won't make it a may make it or a definitely will dude. I'd rather definitely will every time When door knocking how do you pitch to get in the door of an aged lead that's several months old? Oh, yeah, that's good There's a few different ways to take that so your door not gonna lead Say it's age say it's three months old Whatever it is I would have the lead with me or what if you could show them something it didn't matter either way, but hey They open the door. Hey, but hey John. How are you? I want to make sure that they know I know who they're who they are not a random salesperson trying to sell a curbie vacuum John Hey, I'm Cody. I'm the local filled underwriter assigned to this area I work in this county and I'm getting back to you about your request for the new final expense information That you had requested sometime over the last couple months. I'm sorry. They keep me really busy I'm sorry. I'm just now getting out here, but I have the information and I need to go over it right now Can I come in for a quick second? And that's it and I would get good at that I would refine that like even mine pitch wasn't perfect there because it was off the cuff I haven't door knocked an age lead in years But I still had like the idea of how to do it and what to say so I would write it down I would make it similar to that I would tweak it. I would write it down and then I would Dude, I would role play it. I would I would do it. I would say it to the mirror and Smile and then I would just Get it get it down to where it literally I've got it down to a science and I could say it You know to the clerk at the grocery store if I had to What script would you use for a cold list of people with homes valued? 300,000 or higher What cold list would I use for people to have a list? Okay, okay, so I would relate it to mortgage protection because you just said homes of 300k or more And if I was calling about cold stuff I would do it similar to our cold calling script that we did live on our cold calling show Which I think was like You know, hey, this is Cody I'm getting back to everyone in the Springfield area about the new mortgage protection information I'm assuming that we got this to you. Is that correct? Maybe so I don't know if I got it or not, you know, that's what they normally say Okay, well, it's just my job to drop it off I'll be out in your area on Thursday is mornings or afternoons generally better like that's like so simple and short But I mean something similar to that if I was going to just jump on and do a lot of cold calling To and Albert the age leads is a good thing to do or knock man. I mean, it's the activity I think agents if they need they need 60 to 120 door knocks a week depending on the type of door They're knocking and depending on their skill Most agents don't don't knock on near enough if you want to have success that I could do or knock I could buy a list of a 100 or 200 age leads for like a buck and then go door knock them all for a month and Repeat the cycle or whatever and dude. I'm gonna I'm gonna I'll make 10 grand like I just will and I'll probably spend $200 400 bucks like it's but it's the activity. It's it's the consistency of it That's it banana puff banana puff. We are done 16 minutes and 17 seconds from when we started live Q&A every single Wednesday Two o'clock central center time. I'm very grateful that you guys not only watch our content that you subscribe That you like that you comment and that you actually ask questions that we can answer in real time through our different Platforms and channels and that we can also address on our live show Thanks for watching Cody's live Q&A every Wednesday at 2. Have a great week. We'll see you Friday 4 8% Club go try our leads something crazy today. If you're not following our 12 days of Christmas We're trying to give people to we're trying to give an agent 20 free leads today So make sure you go back and check out our posts. So check it out. Have a great week. Thank you guys. Thanks, Duker Thanks Dylan. Let's do it


So to get things right this is not rocket science. It's kind of simple so it's a manual application of kiss So let's keep all of this as simple as possible So before we get started we've seen the diagrams, but what is signaling really? So signaling is the offer answer exchange process that is needed set up a peer-to-peer connection between two participants I normally think of this as the handshake. How do we agree on the connectivity pieces? So another sequence diagram So we have four pieces we have Alice and Bob their application sites and Alice WebRTC library instance and Bob's WebRTC library instance Alice starts all of this off by calling create offer That gets her an offer which is sent across to Bob by any means In this case we just call it carrier pigeon Bob uses that offer to call create answer Sends that back to Alice who can complete the handshake by calling set remote description Once that happened we have a peer-to-peer connection created between Alice and Bob To the magic of ice done in turn that has been mentioned before So the title of the talk is fast reliable and scalable What does that really mean? So fast means we want to minimize the call setup latency Reliable means we want to have really reliable call setup so we have as few failures as possible Both for the users but also for the developers If you get that wrong you're going to have pissed off developers that tries to use your system And the final thing is you want to have a system that actually survives and survives the stampede of your own success So what's the impact of doing this? As I said I've been on a bunch of products And in our experience we managed to reduce the call setup time from about 10 to 2 seconds We managed to get significantly more reliable signaling or call setups The system is a lot simpler to build and run than what we used to have before And turns out it's pretty cheap to run as well So let's replace the carrier pigeon with some details We have some more components to look at in this system We have HTTP servers and a database And we have the same use cases as before We want to set up a peer-to-peer connection between Alice and Bob And just as before Alice starts off by calling create offer She then sends it to Bob using a post HTTP post operation Bob is sort of by magic already polling the system trying to receive that offer So that once it's inserted into the database Bob is going to receive it As soon as Bob receives it he can use it just as before to call create answer on WebRTC Send it back to Alice using post Alice as soon as she did the post she entered her waiting loop So she keeps polling waiting for the answer to come back As soon as in search completes then Alice is going to receive the answer She can call set remote description and the peer-to-peer connection is going to be created Looks good, right? Not really So if you build this and you try to run it at scale You're going to detect that it's slow, it's unreliable and it doesn't scale at all As always the Devils is in the details So what are the problems with the previous solution? So polling is pretty crappy, it addresses overhead Both on the server side and the database side It also adds a lot of latency Using polling and HTTP adds sort of double latency because you need to pay for the poll cycle And you need to pay for the TLS handshake for every single poll Which is going to be crazy Use a single database also have a set of problems It's going to add latency because that database needs to live somewhere globally It's going to have replication problems because it's just one small database And it for sure won't scale There are some other details to this There isn't any delivery acts If you don't have a delivery acts in the system you actually don't know if the message made it to cross That's going to make developers a lot happier if they know And beyond that we don't have any rendezvous system So as I said we rely on magic for Bob to know when to start polling So it just doesn't work So the details that we sort of need to go through and design We need to build a rendezvous system We need to look at the semantics of message delivery so we get those right We need to figure out how we do system sharding or partitioning So we get the properties out of the system we want We need to have a better client server protocol HTTP, get them post, they are great But if you actually want to have performance and you want to have performance on mobile devices You need something else And finally, but probably the most important from a developer's perspective Let's make sure the system can handle retries and potency Otherwise it's going to be a Saturday So rendezvous, it's kind of a fancy name for a really simple question How do Bob know that Alice is calling him? So we have two main options We have GCM and APNs Or we could build our own system GCM or Firebase Cloud Messaging or Google Cloud Messaging Same thing, different names It's really push notifications for Android It's reliable in quotes And it has a reasonable low latency So the normal latency is about 350 millis Assuming you can actually reach the device If it's in a drawer somewhere without battery, it's going to take longer I say reliable within quotes because there are corner cases where they drop messages silently Especially if you run out of capacity on the server to store more messages for that endpoint APNs, so this is Apple Push Notification Service It's built into all iOS devices It's best effort by default So it means that we're going to drop messages both client side and server side I'm fine with that, at least they deliver what they promise and not the GCM approach They have better latency in most of the time than GCM So about 250 millis, it sort of depends, but you can count on it We have the third option You could always go off and say, hey, I want to build my own thing You could use a long live TCP connection from the device to the cloud, handle that You can make it as reliable as you want to You can make it really, really low latency Turns out it's scary hard to implement, especially at scale It will most likely drain the battery rather than make the user happier And on iOS, it's almost impossible to actually implement because of the constraints put on background processes on iOS So, message delivery, the mantex, but really important What does delivered really mean? So a message is delivered, we define it as It's been delivered as it has been received by the destination device And handled by the application successfully So what would that mean in our example? That means that the offer from Alice has been received by Bob Bob have been able to apply it using createAnswer and that operation succeeded First at that point, when we reach that point, we mark that message as delivered Everything else is just lost or random We have some other details in here We need to decide how strict we're going to be with message delivery There are really two big options We can say in order or any order In order means that we promise to deliver all messages in exactly the same order as they were sent Our option is to say, let's be a little more relaxed and say We deliver them most of the time in the same order as they were sent, but sometimes we get it wrong The reason for this sometimes is when you scale out, you're going to realize that servers go up and down at the worst possible time When that happens, you need to retry and that tends to rearrange stuff on the wire The second thing, which is also sort of semantical but critical You can say that we're going to deliver every message exactly once or at least once Exactly once means one message was sent, we delivered exactly that one The other one is, yeah, sometimes we deliver more than once From an engineering perspective, it feels kind of nice to say, let's provide in order and exactly once We only have four options, that's the one that sounds really simple to use But when you apply latency and complexity dimensions, you're going to realize it's slow and it's scary hard to build So the Google ways, let's make it simple and let's make it fast We need to handle the problems client side but still, it turns out that works really well System shorting, we need to partition the system we're building We also know by experience that most calls are made within a single region You only call your friends, most of the friends are in the region that you are Most of the time If we wouldn't do this, then every single request that leaves one region just to go to another for no good reason at all Is going to add another 250 milliseconds round trip time to every call So if we apply this to the initial sort of polling one, that would mean that the lowest possible latency would be 250 milliseconds Because that's the cost of a round trip Even if you got extremely lucky, if you got unlucky, it would be worse So the thing we realize from this is we need to store user data in the region where the user lives And we need to avoid cross-region calls if at all possible The last word is critical, right, if at all possible So we know we need to shard the system, we know we need to shard it by users So how do we do it? We can be very lucky and lazy, as we were doing on Allo And you can say, hey, this is phone number base Phone numbers are by default sort of regionalized We can use that one, works, okay There are other options A really simple one is to rely on a registration system and DNS So you rely on DNS to find the server that is closest to the user And that server to actually know which region it belongs in So it's a simple example, right So we have Alice again, we have a global user database We have a DNS system, happens to be the one Google provides, but you can actually use anyone Then you have servers in each of the regions So when Alice want to do her registration, the first thing she does is she's going to do a DNS query for some DNS If you configure DNS correctly, that's going to end up resolving to the closest user The server that is closest to the user That server knows which region it's in All the cloud providers, you can query the metadata for the instance And it's going to return the region When we update the user record in the global database, we can say Alice is home in EU Pretty simple The drawback of this is if Alice is traveling to the US the first time she uses the application She ends up in the US and she's never moved She's going to have a bad day So you need to add some kind of user migration screen if you do it like this Okay, so a few times here I've said local storage or global storage So what does that really mean? So local storage is really some kind of storage, could be mySQL database Running within a single region, lower application factor But we can use it as a scratch That means we're going to have super fast writes and we're going to have super fast reads Local storage is the thing we want to avoid, sadly as you can probably tell, you can't It's globally replicated, it's very cacheable because we don't change it very often Reads can be fast because we can cache everything But writes are going to be glacially slow, that's just the fact So don't do it often, but you can live with it Okay, client server protocol As I said, we know that HTTP polling is expensive and slow TLS overhead, overhead of us doing extra call, RTG round trips, especially on mobile networks We risk hotspotting databases because we keep reading the same entry over and over and over again It's not very good So we sort of have this wish list for mobile devices on how should the client server protocol work We want it to be to support server-to-client push So we don't need to do the polling, we just need to do one TLS handshake And then when the server knows something, it can tell us about it We need it to be really cheap on the wire Sure, we're going to set up a mobile call soon, that's going to burn a lot of data But still, the actual negotiation should be cheap We want it to be fast, really, really fast And the last one, especially as a developer, it should be simple to use It shouldn't be complex and hard So at Google, we use protocol buffers There is this standing yoke at Google that there are only two kinds of jobs You do proto to proto, we go proto to UI And that's all you do at Google as a software engineer Essentially, it's true So protocol buffers is a very flexible way to define data structures that are language independent They are pretty easy to use once you get used to the quirks, they have some They're strongly typed and they have a really nice compact binary representation So when you send them across the wire, they're cheap to send About a year ago, we released something called DRPC, G as Google Remote procedure calls So this is a public port of an internal system that we use more or less day-to-day For everything we do It's defined using protocol buffers, so you define your service as a set of operations on a service It supports server-to-client pushes through long-living by directional RPCs So essentially, the client connects and then you can start to send and receive Across that connection without retrying It's based on HTTP2 or Quick, for Duo we used Quick and that's been sort of publicized And the nice thing is it has support for more than 10 languages So when you want to build something that's like iOS, Android, server-side, and something else You don't need to write the same service API library multiple times Okay, probably the most critical things to get this working for real You need to realize that mobile networks are flaky I can't stress that enough, right? They're really flaky Even though they seem to work, they don't You have frequent disconnects, you have a lot of timeouts, and packet loss And you just need to deal with it So in practice that means that every single API that you publish has to be retry friendly The fancy word for that is idempotent So what it means is that you need to be able to do the same operation multiple times With the same arguments, and you should only have the same outcome In this example, we have a really crappy retry loop that tries to send Bob an offer If it succeeds, we break out of the loop, and if it fails, we try again If this isn't implemented in a retry friendly way We're going to send Bob three copies of the offer if he's on a crappy network Because the call may succeed even though the sender thinks it failed Because of timeouts, so the request makes it to the server The server processes the request and sends it on, but the client timeouts Before it actually realized that it worked So, design summary here then We want to have a round of view system based on GCM and APNs We want to define delivered as successfully handled by the application We want to have a delivery model that say, yeah, we're going to do it at least once And in any order, so that means the client needs to handle with duplicate messages All kinds of crazy stuff The lucky thing is, that's kind of easy to do on the client Doing that on the server, that's tricky and really, really hard Shorting, we just say, hey, let's do it by year on the first registration And protocol, we make sure to build everything as item potent, geopsies Kind of simple, no rocket science, as I said So, we'll remember this one, right? This is where we started, more or less HTTP, post and gets and polling And we already know what this is bad So, a reliable GRPC solution looks more or less the same, somewhat You could even claim that it's a bit more complex But if we work it through, you're going to realize it's kind of nice and easy to reason about We have a new server type, CS, connection server, like the first thing you connect to You have GCM, which is Google Cloud Messaging, just to make it simple And not have APNs and all of this in the same picture And you still have Alice app and Alice library, Bob's library and Bob's app Okay, so how does this work? Alice called Binds as soon as she pulled the, as soon as the application starts We want to do it as early as possible To make sure that this is ready when we want to send Setting up the connection is going to be the slowest thing Bind, in this case, is a bidirectional GRPC So, it's going to stay up and it's the one we're going to use for all of the subsequent operations As soon as the offer is created, we send it to Bob using the bidirectional Bind channel That's going to hit one connection server, just any random one We're going to tickle Bob because we know that Bob isn't around I'm going to go into the details soon GCM is going to forward a tickle to Bob's application, causing it to wake up And actually do something about it, or actually causing Bob to actually answer, really On the other side, Bob is going to do the same bind to sort of set up the connection As soon as he calls bind, the offer sent by Alice is going to be delivered But we say that this is the offer and it's coming from Alice As soon as Bob receives it, it calls createAnswer Once that succeeds, he acknowledges the offer and sends it to Alice We know that Alice is connected So the first connection server gets forward the answer directly to Alice's connection server We don't need to go through any other loops Alice does the same thing, she receives the answer, calls that remote description And then acknowledges the answer So once again, we have the peer-to-peer connection up and running So that's pretty simple, not very hard It's kind of easy to reason about anyway So let's dig into the actual details on how to implement this This is a bit gritty, but this is the way it is Again, connection server, GCM, another connection server We have a local connection database, we have the global user database And we have the local message database Alice starts by issuing her bind As soon as she binds to a connection server, we write her connection information directly into the connection table That's essentially IP port and some number identifier Alice's state on that connection server When we bind, we also check the messages table No one called Alice, so there is really nothing to fetch Alice wants to send the first message again So she calls send, addresses it to Bob and passes in the message We need to verify that A, Bob is a valid user and B, where he is Because we know that it's not unlikely that it's going to be in the same region As soon as we know where Bob is, we can issue a select to actually get the connectivity details for Bob But as we know, Bob isn't around, so that's going to return empty We also insert that message directly into the database This is actually the point where we tell Alice that this operation succeeded And the reason we do it as early as possible is to minimize the risk of an error internally propagating out As soon as we return to Alice, we actually continue We call GCM and say, hey, tickle because we need to reach Bob At some point, further in the future, GCM is going to wake up the application on Bob's side And we sort of have started the first thing Okay, so application is running on Bob's side He calls bind, once again we insert his connection info into the database We check any messages pending, yep, there is a message from Alice, so we're going to deliver that one Bob handle it by calling create answer, then he calls act On act, we update the state of the message in the database, but we don't actually delete it It saves a tad bit of overhead, especially on our database But it also requires you to have some kind of cleanup system that goes around after the fact and deletes all of these old messages So Bob wants to send his answer back to Alice, so he calls and once again we check, does Alice even exist? That's pretty cacheable, but we do it anyway We figure out where Alice is connected, and we know that Alice is connected, so we're actually going to get the result back Then we insert the message into the database We know that Alice was connected, so we got her IP port and ID That means Alice, Bob's connection server can create the direct connection to Alice And do a direct call saying, hey, here's the message But the trick is, there's always a tiny, tiny risk that Alice goes away and loses her connection before we manage to deliver it So we always tickle GCM, even if we know that there is a message there Even if we know that there is a connection there There's going to be a race between the delivery of the message and the tickle from GCM We just need to live with it, client side, that's kind of easy to do, server side, it would be a pain Once again, Alice receives the message, calls the app, she updates the state on the database, and it's done So, how does this really work when you have a bigger system with all the pieces in place? So once again, connection servers, GCM, local state, local state, and global user database As I said, this is drawn as sort of global only, but think of it as highly cashable state you can move about So, again, Bob's want to send his response to Alice, he goes out, oh, where's Alice's home? Then goes to the connection database in exactly that region, and checks, is Alice connected at the moment? And also inserts the messages into the database Alice is connected, so Bob's connection server connects directly to Alice's And forwarded the message We do the tickle in parallel to make sure we don't lose the connection, and we have the normal race Alice receives the answer, calls set remote description That succeeds, so she says act, as soon as she says act, we update the entry in the database that say this is now delivered That message will never be delivered again There are of course races where you sort of have a message coming in, reconnects and stuff like that So that may actually be delivered again, and that's why we say it may or may not, the client needs to deal with it Okay, so, again, back to the overview of the reliable solution It's kind of easy to reason about because you don't have polling loops, you don't have strange state, it has clean and simple operations One thing that this doesn't show is that a lot of the operations in this slide and the previous slides are very easy to parallelize So you can do them at the same time, and you can also do them a bit sort of optimistically, you just try, and if it fails, it's just a cost of a fail There has been a lot of details in here, but stuff we haven't covered, which is equally hard or simple, depending on how you look at it Authentication, identity, load balancing, item potency, how do you actually implement that to make it work Message identity, cache eviction, especially global state, how do you make sure you evict the stuff that's in the cache so you can update it And how do you handle Poisson messages? In the current system, if you get the Poisson message in that actually cause Alice's, the receiver's clients to crash We can never get out of that state, it's going to keep crashing, keep crashing, because as soon as we deliver it dies, so that needs to be handled So the summer of this tiny talk, you got to remember the details because that's where the actual complexity of this is Don't go home and build a custom roundable system, it just won't work, it has been tried once too many, so let's not repeat that Make sure you have very clear message delivery semantics, it doesn't need to be exactly the ones I picked here, but make sure they're clear so the client teams know what to expect Sure the system based on actual user behavior, right? For Duo and Hangouts we know how the users behave, but however your user is going to behave, I don't know, you need to figure it out or assume something when you start Use something really fast and really lightweight as client server protocol, preferably something that's easy to use as well, because it's going to make your developer a lot happier And finally, and I can't stress this enough, make sure all APIs are retrievable, because if they're not, you're going to have very strange states flying around in your application That's it, questions?