 Welcome back to our lecture series Math 31-20, Transition to Advanced Mathematics for Students at Southern Utah University. As usual, I'll be your professor today, Dr. Andrew Missildide. In lecture 31, we're going to talk about the very important topics of injective and surjective functions. Now, suppose we have a function f from some set a, which we call the domain of the function, to some other set b, which we call the codomain of the function. Remember that by definition, a function is a relation from the domain a to the codomain b, such that when we look at these ordered pairs, every element of the domain shows up once and only once. So every element of the domain call it a, it has exactly one ordered pair that relates the things together. This is the so-called vertical line test with regard to functions here. Now, with functions, much like we've talked about with relations beforehand, we can attach to them additional properties beyond their definition. And those additional properties can be very, very useful. So the first of which we want to talk about is injectivity. We say that a function f is injective, or sometimes the word is used one to one. Honestly, before advanced mathematics, like in a college algebra class, or maybe a calculus class, if you refer to this injectivity notion function, it's usually referred to as being a one to one function. We'll use both terms interchangeably here, injective or one to one. But what is the definition of function is one to one if, whenever the function has two images that are equal to each other. So if f of a one is equal to f of a two, this actually implies that a one is equal to a two. And this holds for all a one, a two inside the domain. And again, this is an if then statement. So I'm not saying that there even exist any situations for which the images are equal to each other. And of course, if a one and a two are the same number, then they have the same image. And a function being injective actually suggests that that's the only way this can ever happen. That whenever the image is the same, whenever the y-coordinate, as you might say, is the same, we want that the input, the x-coordinate was the same thing as well. So equal output implies equal input. That's what a function being injective means, being one to one. Another way you could phrase it is that whenever you have an element b inside of the image of the function f of a there, then there actually is a unique element in the domain that maps on to b. So given any b in the domain or in the range there, excuse me, there's only one element of the domain that maps on to it. It's what we mean by an injective function, one to one. Let's look at some examples of functions here. So this is an example we saw in the previous lesson. Let a be the domain of this function. It contains the numbers one, two, three, four. And let b be the co-domain. It contains the numbers one, two, three, four, five. And define the relation the following way, one maps to two, like you see right here, two also maps to two, three maps to four, and four maps to one. So this is our function relation. This is an example of a function which is not one to one. It's not a one to one function. And the problem is in the following situation. If you take f of one, this is equal to f of two because they're both equal to two, which you can see in our diagram right here. f of one equals f of two, but one is not equal to two. So there are different values of the domain that have the same image. And so while this is a function, so it is a function, it is not an injective function. So of course to be a one to one function, you have to be a function. But what's happening here is that this fails to be one to one. Now using language from earlier days of mathematics back in our childhood, you know, college algebra and calculus and things like that, a graph that passes the vertical line test is a function. So this vertical line test, this notion of one to one would have been introduced earlier as well. And a function would be one to one if it passes the so-called horizontal line test so that different x coordinates produce different y coordinates. This function would fail the horizontal line test so it is not one to one. All right, coming to this next one here, we're going to take the exact same domain and code domain we had a moment ago, but we'll come up with a new function we'll call it g. This time one goes to two, two goes to three, three goes to four, and four goes to one, like we see with the arrows here. One goes to two, two goes to three, three goes to four, and four goes to one. So in many ways it behaves just like the previous function f. The only difference of course was I changed what was happening at f of two or in this case now it's g of two, right? So instead of sending two off to one and thus getting a duplicity of arrow heads there, this one I'm now sending to somewhere else. This is now an example of a one-to-one function. g is in fact one-to-one and you can actually see this from the diagram right here that when you look at an injective function's diagram you can see that it's injective because every arrow points to a different place. When we looked at this thing earlier, right, look at this little red circle here, this indicated that the function was not one-to-one because we had multiple arrows pointing to the same place in the co-domain. That is what made it not be one-to-one. The multiple arrows point in the same place. On the other hand, with this diagram we see that each arrow points to a different spot and this is actually where the name one-to-one is coming from, that each arrow points to a different spot. So for each one in the domain we get a different one in the range. To be a function there can't be two arrows coming out of the same number but to be a one-to-one function you can't have two arrows pointing to the same number. So there is this one-to-one relation that every element in the domain corresponds to a unique element in the image and every element in the image corresponds to a unique element of the domain. That's not the element, that's the one it corresponds to. So there's this one-to-one relation between elements in the domain and elements in the image. Now I keep on saying image here because that's not the case for the co-domain in general, it could be that there are places in the co-domain that don't get hit by anything. To be one-to-one it means that every element in the co-domain has at most one arrow pointing at it. There could be some that still miss. It's very possible that the image of our function, this one this time, this time it's g, it could very well be that the image of g is a proper subset of the co-domain of g. That's a possibility to be one-to-one. One-to-one just means that you don't have multiple arrows pointing to the same place. In this case here every input will have a unique output but every output has a unique input as well hence one-to-one injective. Alright so that gives us the first titular topic of this lecture. How about the second one? So it turns out that the counterpart of an injective function is what we call a surjective function which we're going to define that right here. We say that a function is surjective or sometimes called on-to. Again this terminology, the second term much like one-to-one is used less and less in the more advanced professional mathematical setting but it is used occasionally. The more professional term here would be surjective. Many students have heard of on-to functions before and that term is still used. So what is an on-to function? We say that function is on-to if the image of f equals the co-domain that is to say the sets f of a, the range of the function equals the co-domain. In other words if the image and the co-domain are equal to each other that means there is nothing in the co-domain that is not mapped on-to by some element of the domain and that's actually where that word on-to comes from. Every element of the co-domain is mapped on-to by some element of the domain. More explicitly for all elements b inside of the co-domain there, b, we're still using the same meanings of a and b as we had before. So f is a function from a to b in this situation. So for all b inside of the co-domain there exists some element in the domain such that f of a equals b. So there's some element a that maps on-to b and that's the etymology of that term right there. Surjective means the same thing in the situation. Now if you have a function which is both injective and surjective we refer to this as a bi-jective function. Bi of course here means to and then you have the same suffix like the other words injective, surjective. So this one of course means that your function is going into this one as means it's going on to. This means it's going twice as in it's surjective and injective. It has both properties. Okay so let's see an example of a surjective function maybe, maybe not. Well I say that because we're going to look at the functions we looked at just a moment ago but actually these these first couple are not going to be surjective. So again we're going to take the exact same f that we had on the previous slide. a and b will have the same interpretations a is one two three four, b is one two three four five, exact same relationships before one goes to two, two goes to two, three goes to four, four goes to one. In this situation it still is not a one-to-one function because you have multiple arrows pointing to the same spot but what makes it not on-to? So this function here f it is a function is not an on-to function because there exist elements of the co-domain that are not hit by any of the elements of the domain. So three is not in the image here. So three and five are not in the image of f which is actually equal to one two and four. So since there's something that was missed in the co-domain that makes it not surjective. So this is an example of a function which is not injective and it's not surjective. Okay now another example here let's take the same function g that we saw in the previous slide it has the exact same domain and range uh excuse me domain and co-domain and we're going to define g to be the relation that one goes to two two goes to three three goes to four and four goes to one. All right so again this function is not on-to it's not on-to because in this situation while the the the range of this function is bigger than it was before there is still something missing here the range of this function now it's it is bigger than f we saw a moment ago now you include one two three and four but five is still missing it's not inside of the range there and therefore it's not on-to but g is in fact one two one so you can have an injective function which is not surjective you of course can have a function which is neither injective or surjective. Looking at this next example here let's introduce a new function we're going to call it h in order to make this work though i do have to switch the domain and co-domain a little bit i'm actually going to keep the same domain one two three four for a but i'm actually going to switch up b this time b now is going to be the set one two three i actually made it smaller we lost four and five and that's we'll we'll talk about that in just a second but h is going to have the relation where um one maps to two two maps to two three maps to three and four maps to one and the following way so two and one go to the same spot they both go to two three is going to go to itself three and then four goes to one like so this is an example of a function which is surjective so h is on-to you'll notice that every element of the co-domain is inside of the image it everything is mapped on to into the co-domain there so how do you get four uh excuse me how do you get a one well you map four to it a little bit of putting the cart in front of the horse there sorry how do you get a two well to get a two you either map one or two how do you get a three well you either map well the only option is you map three three there so this function is on-to but it is not one-to-one okay because the same problem as we saw before there are multiple elements mapping to two and therefore it can't be one-to-one in that situation and so this gives us an example of a function that can be surjective but not injective and so the last possibility that we need to consider would be a bijective function a function which is both one-to-one and on-to we'll see an example of that uh in a little bit we don't have one on the slide right now honestly before I get into the bijective functions there is a comment that I want to make about these things um you notice I shrink the set here I shrink it to be one two three why did I do that why didn't I come up with a surjective function that maps from one two three four two one two three four five why did I have to switch the co-domain here well if you're trying to come up with a function which goes from a set of four elements to a set of five elements what we can actually say is that no such function can be surjective such a function cannot be on-to and the reason for that is fairly simple a function maps every element of the domain to exactly one element of the co-domain so one is going to map somewhere two is going to map somewhere three is going to map somewhere four is going to get assigned to some number and assuming all of these assignments are different so you know one gets a number two gets a different number three gets an even different number four gets a totally different number when you make all of those assignments we have four assignments which will take out like maybe some of these there's always going to be one left over this is actually a manifestation of the pigeonhole principle what we have here is we have four pigeons that have to be assigned among five pigeonholes since we have fewer pigeons than pigeonholes there has to be at least one pigeonhole that is empty this actually is telling us that if you have a function for which the domain is smaller than the co-domain then that function cannot be on-to and so I had to shrink the set B if I wanted to construct a on-to function because if the co-domain was too big if it's bigger than the domain then you can't have a surjective function all right so what what I just explained I have here summarized on the screen if F is a function from A to B and if the domain is smaller than the co-domain then the function cannot be on-to it comes down to the simple observation and if you have two few pigeons then some of your pigeonholes are going to be empty and the language of functions that means if the domain is smaller than the co-domain the function cannot be surjective but it also goes the other way around that if we have a set let's say we take the numbers one two three four like so and we map into the set one two three like we did a moment ago with our with our function h that was an example of a function which was not one-to-one and in fact again by the pigeonhole principle we get that such a function cannot be one-to-one because if your domain is bigger than your co-domain the pigeonhole principle comes into play again that if you have more pigeons than pigeonholes then there has to be a pigeonhole that contains at least two pigeons and so the pigeonhole principle tells us that if your domain is larger than the co-domain then the function cannot be one-to-one it cannot be injective now when you combine these statements together if the cardinalities of the domain and co-domain are different then you cannot have a bijective function because if a is bigger than b then you're not going to be one-to-one hence not bijective but if the co-domain is bigger than the domain then you can't be surjective so the only chance that you can have a bijective function is when the domain and co-domain have the exact same size and we will actually see in the future that whenever two sets have the same cardinality there always exist a bijection so this statement right here can be turned into an if and only if statement two sets have the same cardinality if and only if there exists a bijection between them and so we'll see this principle again in the future but I just wanted to rebrand the pigeonhole principle in the language of functions here now these observations I made are make very much sense when you have a finite number of pigeons and a finite number of pigeonholes that is your domain and co-domain are finite sets but this pigeonhole principle also applies to infinite sets but that is a topic we're going to talk about in a later lecture dealing with infinite cardinalities is a little bit more troublesome a little bit more tricky and functions will actually be the be the silver bullet to help us battle that demon all right so what I want to do next is then compare these notions of injectivity and surjectivity to functions that you would have seen in a college algebra a calculus setting basically an elementary mathematics setting that is before our transition into advanced mathematics how will we see that well if you were like in a a college algebra setting when they talk about a function they would only give you the formula right so you take f of x equals x cubed and they would tell you this is your function and they don't mention ever the domain and co-domain right the domain convention says that you take the domain to be as large as possible that is you take the largest subset of the real numbers for which this formula is well defined for x cubed that would be all real numbers and in calculus and beforehand pre-calculus you always take the co-domain to be the real numbers so even though it's not stated the conventions of calculus do give us the implicit domain and co-domain of this function would have to be all real numbers there and so is this function one to one is this function injective this function x is in fact an injective function it is one to one and one can actually see this the way that you prove it is you would take two different values and suppose them to be the same thing so f of a equals f of b well that means that a cubed would equal b cubed like so and then taking the cube root of both sides you would end up with a equals b and this holds for all real numbers so this is in fact a proof that the function is injective this function is also surjective okay if you have any real numbers so take for example b inside of the co-domain of real numbers there then if I take f to be the cube root of b which is a real number this is going to equal the cube root of b cubed which gives back b so this is evidence that our function is in fact surjective okay now as I'm making this argument here you'll notice I'm talking a lot about the cube roots this function is both injective and surjective so it gives us an example of a bijection that is a function that is bijective this is our first official example here and when it comes to a bijective function it turns out that it has a lot to do with the inverses I made my arguments work using inverses of my function the cube root played a critical role there we will see in a future lecture that a function is bijective if and only if it's invertible it has an inverse function okay so the cube root function is a bijective function is both one to one and onto let's look at another example here let's consider the function g of x this time again from all real numbers to all real numbers given by the formula that g of x equals e to the x like so and so in this situation I do claim that this function is injective it is in fact one to one and to see that it's one to one again we would consider something like okay take two real numbers a and b such that their images are the same thing so we have e to the a is equal to e to the b like so now if you want to show that a is equal to b what you can do is you can take the natural log of both sides so that it cancels these things out and you end up with a equals b okay so this is in fact a one to one function but I should caution you here that unlike the previous example this one is not surjective it is not surjective and the issue comes down to the following you could take something like negative one which is a real number but e to the x never equals negative one for all x inside of the real numbers there and I won't go through the derivation of such a thing but when you take the natural exponential here this function e to the x you cannot get any negative numbers popping out of it you also can't get zero the you can't get zero basically because you can't divide by zero again I'm not gonna go through all the details there and you can't get negatives basically because it would require imaginary numbers to do such a thing you know much of the same way you can't take the square bit of a negative and expect that to be real you get a non real complex number the same thing's happening here we'd have to have an imaginary exponent of e to the x to obtain negative real numbers so this function is not surjective now it's not surjective if you take the co-domain to be all real numbers but what if we were to modify this thing what if we were to swap it out to be g sub one is a function from the real numbers we'll take the real numbers here and then we restrict the co-domain instead to be the interval zero to infinity right in this situation the exact same formula as before g of x is equal to e to the x then the argument that it's injective would apply there'd be no difference there whatsoever but on the other hand you would then get that for any real number b well it's not just any real number but for any positive real number so b is great equal to zero you then could get that g of the natural log of b which is then equal to e to the natural log of b is an equal to b this then shows us that we actually are on to in that situation and so this is a nice little trick that one can do that if you have a function if it's not surjective it means that there's something in the co-domain that is missed by the function now if you restrict the co-domain to equal the range of the function then it's necessarily going to be surjective so every function that's not surjective can be turned into a surjective function if you're willing to modify the co-domain you can shrink the co-domain I should mention that this gives you a different function that the function g1 is not the same thing as the function g because their co-domains differ the co-domain of g1 is not the same thing as the co-domain for two functions to be equal they have to have the same domain they have to have the same co-domain and they have to satisfy the same relation so if you start switching the domains and co-domains you are creating new functions but if you need a function that acts like the natural exponential you can create one that is surjective so long as you shrink the co-domain to be the right set that is you shrink it to be the range there and when you shrink the co-domain you're going to retain its injectivity right because if you're shrinking the co-domain what you're doing is you're potentially losing images but of course you're not because you're shrinking the co-domain to be the range there you're not changing any of the evaluations so things that were one to one before will still be one to one and so this function this function g1 is in fact bijective and so this is a nice little trick that if you have an injective function if you're willing to shrink the co-domain you can always turn into a bijective function every injective function is bijective with regard to its range that is the co-domain could be too big so shrink it down so that it then becomes bijective and then you'll also notice that like I mentioned before bijective functions have inverses the inverse of the natural exponential is the natural log that played a role in this situation now the natural log doesn't have its domain all real numbers its domain is actually only going to be positive numbers and it has to do with the fact that the full blown e to the x function is not surjective but its restriction on on the output variable is then bijective all right so there's some a lot of subtleties going on here let's look at another function here r or h equals r to the r here and we'll define h of x to be the function um x squared here so for this function is it one to one is it onto well it's got some issues here it is not one to one okay it is not injective and the issue you have is things like the following where you have h of negative two which is equal to four negative two squared is positive four but this is also the same thing as h of two so this is not a one to one function because you get different values um having the same image here um it's also not surjective because you have issues like the following um take negative one which is of course a real number but x squared never equals negative one for all x inside the real numbers again this is what I mentioned earlier with the exponential but you have you have to get imaginary numbers to get a square that's equal to a negative real number so this function is neither injective nor is it surjective now to fix the surjectivity it just comes down to oh our co domain is too big so I could change the function to be something like h sub one uh is a function from r to the non-negative numbers so zero to infinity zero included this time same formula as before so h one of x is equal to x squared this function would now be surjective because we threw out all the places we missed it's kind of like cheating on an exam uh you know it's like I'm not surjective because I got rid of a you know I got rid of everyone who I missed it's like oh I I got an a on the test because I just threw away all the questions I got wrong sure um it is a surjective function but now it's still not one to one it's not injective right so despite despite that modification you can't make it surject or you can't make it injective by changing the co-domain changing the co-domain can make a function become surjective if it wasn't already and so it sort of begs the question how do you make it injective well to do that you actually have to change the domain right because the fact that you have repetitions of images it means you have too many what our x coordinates right if you get rid of some of the x coordinates that cause this duplicity here then you can make it become one to one so for example if I were to take a new function we'll call it h2 this time we're gonna strict we're gonna strict the domain to be non-negatives and the co-domain to be non-negatives like we did before um same formula so h2 of x is equal to x squared I should mention that this yellow function this white function this blue function are all different functions even though they're dependent upon the same formula the domain and co-domain matter because a function will be injective or surjective depending upon these domains and co-domains now for the same reasons as before this function is still surjective because every non-negative number is in fact the image here so if you take if you take any b inside the inside the co-domain so any b that is non-negative then you can take h2 of the square root of b which is then going to be the square root of b squared which is equal to b you can hit anything in that situation it's still going to be surjective here it's also going to be injective okay and the reason that we can see that is you have two numbers a square that's equal to b squared if you take the positive square root you end up with a equals b now that was that was a problem beforehand because honestly when you took it if you're trying to take a square root earlier um you couldn't you wouldn't know do I have the positive square root or the negative square root because there's two of them um but by restricting the domain to only be non-negative numbers now you no longer have to consider the negative square root it's no longer part of the domain and so it becomes one to one in that situation so this function with the restricted domain and the restricted co-domain this then gives us a bijective function for which in that bijective situation you do have an inverse the square root here we'll talk some more about that in a future lecture but what I want to tell you here is that given any function if you're willing to restrict the co-domain you could make it surjective um that usually doesn't cause too much of a problem for your function but if you're willing to restrict the domain then you can make the function injective but that one can be much more destructive to the function because you're throwing out assignments you're forgetting elements of the domain that may be a good thing that may not be a good thing but many of us have seen this before in previous algebra settings like college algebra uh calculus maybe trigonometry as you try to define an inverse function for sine this gets very problematic because sine is not one to one but if you restrict its domain to a one to one principal branch then we can define an inverse function in that setting because the function is now bijective in that setting but again we'll talk some more about inverse functions in the future what I want to do as quickly uh as we before we end this video is provide a few more examples of how do you show that a function is one to one or how do you show functions onto a one to one condition is actually a conditional statement if f of x equals f of y then x equals y that's what it means for a function to be one to one so this is an if then statement and you can prove that by direct proof assume that f of x equals f of y then prove by the definition of the function and everything else you know that the two inputs were the same so you can prove this directly um some people like to prove this using contrapositive so that you could argue that if x and y are different then their images have to be different you could also use uh contra we just said contrapositive you could also be proved by contradiction any of the techniques we've had before to prove an if then statement you can use here so imagine we have a function f of x whose domain is all real numbers except for zero and whose co-domain is all real numbers except for one and is given by the formula f of x equals one over x plus one we're going to prove that this function is bijective to show that it's bijective we have to first show that it's injective and then we have to show it's surjective you can switch up the order if you want there but we're going to show that it's injective first so take two elements of the domain which means they're two real numbers that are not zero and then suppose that their image is the same so we have two numbers x and y such that f of x equals f of y we're then going to apply the definition of the function so we get that one over x plus one is equal to one over y plus one subtracting one from both sides we get that one over x equals one over y taking the reciprocals of both sides we end up with x equals y so this shows that the function is injective we've had the if then statement we assumed the premise we proved the conclusion that then proves the conditional and therefore our function is one to one how do you prove that a function is surjective this is actually an existential statement we have to prove that for all b inside of the domain there exist some a inside of the sorry for all b inside the code domain there exist an a inside the domain such that f of a equals b so there's a so in order to prove this we're just going to take some arbitrary element of the domain so like okay let sorry arbitrary element of the code domain let b be an element of the code domain then we have to argue there exist some element of the domain that maps onto it so an existential statement there so let's take an element of the code domain so take z which is not equal to one then because z is not equal to one this actually shows that one over z minus one is not equal to zero so this is an element of the domain okay now notice if you take f of one over z minus one this will become one over one over z minus one plus one that double reciprocal here becomes z minus one z minus one plus one then becomes z this then shows that the function is surjective because i took an arbitrary element of the code domain and argued that there's an element of the domain that maps onto it and since it's surjective and bijective sorry since it's surjective and injective that makes the function bijective now where did this element come from well in general that can be a very difficult question to answer but honestly i just solve the equation if i have want my equation to equal z equals one over x plus one if you solve for it you end up with z minus one is equal to one over x taking the reciprocal x equals one over z minus one that was your input now this is scratch work i didn't include in the proof you don't need that in the proof remember with an existential statement you don't need uh to prove how you found it you just have to provide it on the silver plate it's like here it is um i have you know you just have to be barren and be like here i have the simorel in my hand just show it and that's that's all that's necessary uh you don't have to explain how you got it let's do one more example of this um this time let's take our function g to be a map from z cross z to z cross z following the following rule that g of m n because its domain is actually a Cartesian product i'm actually thinking of this as a function of two variables so i take two integers n we'll call them m and n and we're going to output two integers the first one is going to be m plus n the second one is going to be m plus two n i claim this is also a bijective function in order to see that well let's first show it's injective i have to prove a conditional statement so let's suppose i have two elements of the domain first one will call it a comma b the second one will call it c comma d and let's suppose that they have the same image so g of a comma b is equal to g of c comma d i'm then going to apply the definition of the function that means that the first image which is a plus b comma a plus two b is equal to the second image which is c plus d comma c plus 2d now as these are ordered pairs if they're equal that means their first coordinates are equal and their second coordinates are equal to each other thus we have a plus b is equal to c plus d we also have that a plus two b is equal to c plus 2d now we can actually treat this as a system of linear equations here right i have written right here and treating the symbols a and b as if they were the variables how would you solve this system you could do so by elimination you could take the first equation and subtract from it the the first sorry take the second equation subtract from it the first equation you would get a minus a they cancel you get two b minus b which will give you a b you're on the right hand side you'll get two c's that cancel you get 2d that minus a d gives you a d and so by the elimination method you would get that b equals d now if b equals d then you come back to that first equation there in this situation a plus b equals c plus d but jk that d is actually a b you can subtract b from both sides you end up with a equals c and so solving the linear system of equations you get that a would have to equal c b would have to equal d and that means the ordered pair a b is equal to the ordered pair cd so we had two we had the images of the functions are the equal this implied that the input was equal and therefore the function was in fact injective why is it surjective well given any a b um in the domain or sorry the codomain I didn't have to demonstrate there's an element in the domain that maps onto it and exactly that element is going to be 2a minus b comma b minus a so notice if I take g of 2a minus b comma b minus a you're going to get 2a minus b plus b minus a notice if I simplify that you're going to get 2a minus a which is an a you're going to get negative b plus b which is a zero there so the first coordinate simplifies just to be an a the second coordinate you're going to take 2a minus b plus two times b minus a combining like terms this time you get a 2a minus a 2a that gives you zero then you're going to get a negative b plus a 2b which gives you a b and in fact it simplifies this so sure enough this element of the codomain is mapped onto this element of the domain now this proves that the function is surjective and since it's injective and surjective that proves that it's bijective now again where did this number come from I don't have to tell you I mean the proof doesn't actually require that now if you want to see behind the curtain a little bit it comes down to solving the system of linear equations again basically I'm coming up with the inverse matrix that's in play here but again I'm putting I'm putting the cart in front of the horse we'll talk about inverse functions another time for now though that does bring us to the end of our lecture 31 thanks for watching if you learned anything about injective functions or surjective functions please like this video subscribe to the channel to see more videos like this in the future share these these videos with friends and colleagues if you think they would benefit from them as well and as always if you have any questions please post them in the comments below and I'll gladly answer them as soon as I can