 to recording so also welcome back for everyone on youtube um and on moodle of course if you can't watch it live yes stoker for all is still awake good good good so i'm not doing this just by myself so we'll go through the overview so um that's it for the whole lecture series most waiting for one of the most important parts of the lecture what's the most important part the the overview could be but uh it's just going through the old lectures and just highlighting what i think is important so all right let's go then so what do you need to study everything on the slides as well as the pdf um about the mixed models so of course there's a lot of slides and not everything is as important but remember that if i feel really sneaky i could come up with really difficult questions about some of the slides so if it's not on this slide it doesn't mention that it's it doesn't mean that it's not on the exam it's just less likely to be on the exam but everything on the slides is fair game so just read the slides and um read the pdf there will be at least one question about the pdf just to make sure that you guys read it um so lecture one um we had a short overview of history um there will definitely be a question about history i like history um so we talked about things like the ankytera mechanism about computers um about famous people in computer science like people like uh are a loveless um so know the people know what they did know what the first computer was um and these kinds of things there will probably be like one or two warm up questions um that just ask some history about computers or history about famous people in computer science uh why are there's a slide that mentions like seven different reasons why you want to use are right it's a it's a good programming language it has built in graphics it has built in linear models and statistics um it has a difference between factors and numeric values um and it it can deal with matrices and vectors very easily um so there will probably be a question like name three reasons why you should use are and again i can't stress this enough if i am asking for three reasons you can mention one reason two reasons or three reasons but not four reasons so there the number mentioned in the question is always the upper bound don't go over it because then the whole answer is wrong so just just to be extra clear about that um if we talked about using ours a calculator so be aware that something like euclidean division exists right euclidean division is just how many times does a number fit wholly into another number right so 22 and 7 7 fits three times in 22 and then there is one remainder left because three times seven is 21 and and then we still have one thing left so one item left which we could not distribute know about the built-in constants so you have months that abbreviation you have the the years and and these kinds of things so there's a lot of built-in constants in r so if there's a question like how is the built-in constant for pi call then you have to say well this is pi with a capital p we talked about data types and we did the little quiz in the first lecture right where you guys get to shout numeric character factor that will definitely be in the exam i like making questions like that where i try to trick you guys as much as i can and you have to kind of see through all of the things in the question and say well this is going to lead to a numeric value furthermore indexing of vectors and matrices happens by square brackets and in matrices the first element that you specify is the row and the second element is the column and this of course is very similar to the apply function where the margin of one means the rows and a margin of two means the column so it is very consistent we also talked a little bit about variables so know what a variable is and how you can use it lecture two we talked more about variables and then also we started talking about control structures so be able to write like a little if statement right if i say write an if statement to compare if a number is higher than 25 and lower than 75 and then you have to be able to write down saying if x smaller or larger than 25 and so ampersand ampersand x smaller than 75 know that the switch statement is a very similar statement to the if statement but that the switch allows you to switch on on multiple things right so if numeric if character if in in one statement furthermore we have the while loop and the for loop so both of them loop but the nice thing about the while loop is is that you don't have to know how often it loops the for loop you have to know beforehand how many rows of the matrix there are or how many columns there are right then you can use a for loop because you're starting from one to something or from a hundred to something but if you don't know how often something needs to occur then you're forced to use a while loop like we saw for example in the question with the with the Fibonacci numbers right we don't know when the Fibonacci numbers are going to be bigger than a million so we can't use a for loop we have to say while the number is smaller than a million continue otherwise stop right so the nice thing about a for loop is is that you can use it and it's very easy and it's easier to write than a while loop but the limitation of a for loop is that beforehand you need to know how often you are going to go through the loop well for a while loop you have no such restriction know what the difference is between a statement and an expression so an expression is something which assigns something to a variable while a statement is something that evaluates to true or false right it's if statement do expression right so if x smaller than a hundred yes so then x smaller than a hundred is the statement and then the expression might be well if it's smaller than a hundred add a hundred so x is x plus a hundred right and that is then an expression we talked about a little bit in lecture two already about advanced looping so know how to write an apply function and also know that apply one means apply to the rows and then apply two means apply to the columns so that the the margin the parameter called margin is specifying which dimension you want to apply to we have l apply for when we want to apply to a list for example select pad like we saw select the third element for each element of the list we talked about functions about a little bit about theory about functions and about scope and that you should not read and that everything which you need for a function to work should be an input parameter a function is only allowed to return one thing and some other things about scope where we said well if you have a big variable in your r-session then it is sometimes okay to refer to this directly from within the variable or from within the function but generally you don't want to do that generally you want to have a function being a self-contained unit meaning that you never reference a variable which is not an input variable of the function we talked about escaping so escaping is the process on which you use the backslash to print for example a backslash in a character right so if I have a character string then sometimes I need to use the the enter key which is slash n sometimes I want to include a tab which is slash t and these things always make for fun questions so there will definitely be a sentence that you guys need to escape so that you can write this to a file we talked a little bit about randomness in lecture number two so randomness know that I can use our UNIF for random numbers from a uniform distribution I can use our norm for random numbers from a normal distribution and I can use our poise for random numbers from a Poisson distribution and also know to give an example of a distribution right so if I ask you guys what is the classical example of a normal distribution then you guys have to say well it's when you throw darts at a dartboard right because if you throw darts at a dartboard you're always aiming for the middle but you're not always hitting the middle so you get kind of a normal distribution around the bullseye right most of the arrows will be relatively close to the bullseye but some of them will be spread further apart and of course if I'm randomly throwing a thousand arrows at a dartboard then these will kind of spread out in a normal distribution and for each of these we had an example in lecture number two lecture number three is about reading data so know that there is a function called read table also read comma separated file here the main thing is that you know most of the parameters right so how to set a separator how to set the decimal point how to specify that there's a header or that there are row names in column number three furthermore we have of course the read lines and the read bin function so read lines allows you to just read lines from a file so hey if you don't have a comma separated file but just something like laura ipsum yeah so just some text or some text from a book like the bible you can read that in using read lines if you want to read binary files like BMP files we had the example of how to use the read bin function to read binary file also in lecture three we have substating of data so know how to use the in statement and the which has all like selecting three columns from a matrix you can use column names of the matrix in and then you specify the three column names that you want also know how to use the subset function so that you can use subset of the matrix and then say column number five needs to be lower than four and then select column number one and 17 from the matrix yeah so the subset function allows you to make subsets of your data which can be really useful depending on what you want to do writing they can of course be done by the write table function but you can also use the cut function so the cut function directly prints to a file and allows you to put other data than matrices in in a in a file while the write table is really focused on writing a a table so a two-dimensional structure in lecture three we also talked about biomark so biomark is this connector tool which allows you to directly query biological databases from r and it has a certain amount of concepts like what is a mark so a mark is a connection to a database an attribute is something that you can retrieve from the database a filter is something that it allows you to specify what you are going to give to the database for searching and values are then elements that you are searching for right so an attribute that i might want to retrieve might be is this gene on the positive strand or on the negative strand the filter that i'm going to use might be gene name and then the value might be bbs7 as the gene that i want to search for so three different terms or terminology know the terminology and know what the difference is between an attribute a filter and a value in lecture number four we talked about universe variate versus bivariate analysis and we had a whole bunch of examples of a univariate more or less statistics or kentzal so have we talked about central tendencies what is the mean what is the median what is the mode when we are computing the mean know that there are three different types of mean like the the the arithmetic mean the subcontrary mean and and the harmonic mean we talked about dispersion so what is the range of the data what are the different quantiles we talked a little bit about spread like variance and standard deviation and we talked about shape especially in the context of a normal or a Gaussian distribution so and know when a when a normal distribution is skewed and that kurtosis is kind of the squeezing or the the pulling of the of the normal distribution right so if i have a normal distribution and i i i i press it down like that i'm i'm making a plotty kirtic normal distribution while if i'm pulling it up then it's it's lepto kirtic because then it has kind of positive it's it's too high in middle we also talked about plots here so how you can do a box plot a histogram or an image if you want to have a 2d plot like a heat map kind of plot and here also we talked about the par so par allows you to set all kinds of plotting options like the margin the text the font size and and the font family and these kinds of things furthermore in lecture number five we talked about the classes of objects and that you can define something which is called an s3 class and that you can have default functions when you make your own objects right so i can i can use this attribute or the attribute class of a variable to make this variable special right to to give this variable its own kind of summary function or its own print function or its own plot function and this is very useful when you are designing packages because then you generally make kind of a custom data structure where in for example you make a list and in the first element of the list you store the genotypes and then in the second element of the list you have all of the phenotypic values and then in item number three of the list there is a list or a matrix which has all of the different covariates right and then if this if you then assign a class to this object then you can use it to define a custom plot function so when i call plot on my own object that i just created then instead of calling the standard plot functions it will call my plot function so that it it just looks better know that when we are plotting that we are following the artist palette model right so we start off with an empty canvas and then we add things to that canvas one by one so have we for example do some dots and then we do some lines and then we do some arrows but this all goes from the back to the front so everything is over plotted like someone painting right the you paint the background and then you you do a little bit in the foreground and then a little bit further in the foreground so it's very similar to the bob ross paintings going from the back all the way to the front and our works the same way in lecture number five we also talked about important plot parameters like cx pch and so for the magnification and the type of point that you're using we also talked about different functions that are related to plotting like adding lines and points and text and titles and axis we also talked very quickly about the width function so the width function allows you to take a matrix and then instead of having to say matrix square bracket open comma name of the column square bracket close you can say width matrix and then you can directly use the column name as if it were a variable we also talked a little bit about what makes a good plot so if you think about a plot then it should of course have a description on the x-axis and on the y-axis it should mention units every symbol in the plot needs to have an explanation there needs to be a main so a title to the plot has so there's a lot of kind of little rules when you make a plot for publication and remember that in R you generally make two plots you make one for publication on paper and you make a plot for lectures or PDFs and those have different requirements because things that you can do on a publication you can sometimes not do on a PowerPoint presentation just because of the colors not printing well or the other way around all right in lecture six we talked about the common microarray workflow right so that we had that we start off by extracting RNA then we make DNA from it and then we add colors like psi three and psi five then we put all of this into a machine that scans the intensities of the different colors and then we do steps like normalization and so where we then make sure that the average of every microarray is the same just so that we can compare between microarrays that have been done on different days and of course normalization is there to get rid of unwanted variants that might occur because of different temperatures or other little factors which change we talked about log ratios so a log ratios of course when you have an intensity of the green channel divided by the intensity of the red channel and then you take the log two of that to make sure that when you take a step of one unit up that that is the same step as going one unit down right because two divided by one is two and one divided by two is half and of course these are not symmetrical right going from one to two is a bigger step than going from one to half and you can take the log two to prevent this from happening so by taking the log two you go from one becomes zero half becomes minus one and two becomes positive one so now it's symmetrical again because now if you step from one to two so from zero to one you have a step of one and if you stop from a step from one to half you have a step of minus a half but in logarithmic terms you have a step of minus one so the log ratios allow you to have a symmetrical distribution on the top as well as on the bottom we talked about t-tests and the assumptions underlying a t-test right so that both distributions are a normal distribution and that both of the that both of the groups have the equal variance and I also showed you how to change this so hey if you don't have equal variance you can do well's t-test if you have equal variances then you can do the student t-test and that just works by specifying different parameters um next slide in dutch all right that will probably be one of the last slides I do in dutch so that's good uh we talked about correlation so what is correlation what is the difference between Pearson correlation and Spearman correlation and so Pearson correlation has the assumption that it is a normal distribution while Spearman correlation does not have the normal distribution assumption it just it uses the rank of the numbers to do the computation we talked about multiple testing so because we always want to be certain about the things that we stay in statistics or at least we want to be 95 percent certain we need to compensate for this fact when we do hundreds or tens of thousands of tests as is common in microarrays right with a microarray you measure 20 000 genes in a genome so when we do a standard t-test then of course we would have many false positives if we would not correct for multiple testing so we talked about type one errors um where you say that something is different uh no a type one errors when you say that something is not different but it is while a type two errors when you say that something is not different while it is anyway just look it up on the slides type one and type two errors know the difference type one errors can be uh prevented using Bonferroni correction type two errors can be prevented using Benjamini-Hochberg correction um and also there are two sources of free microarray data mentioned in in lecture six um so i might ask you guys about where you can get free microarray data in case you want to analyze some free data okay so uh collision number seven went over algorithms so uh algorithm is is a uh a coke recipe and you take out every step so and the nice thing about an algorithm is that you have a beginning and then you have a lot of steps and in the end you get into the end and you always get there so an algorithm is a coke recipe and if you follow the steps then you always get the answer and this answer is always valid um besides that we also talked about design patterns and design patterns are algorithms that are often used by a lot of people and that's why it kind of became the standard problem approach uh because for example how do i log in on a website uh that's something that has been done a hundred thousand times by ten thousand different programmers so we know in between exactly how you have to arrange the log in on a website uh besides that we also talked about functions so we talked about what recursion is so recursion is a function that is called itself if we have recursion we need an invariant and an invariant is something that uh continues to go up or continues to go down and in the end the invariant touches the base case so the base case is the is the situation where we know the answer directly um and besides with recursion we normally go into an iterative process uh where we say well if we know x is zero um what how do we get to x is zero if we have x plus one and if we have x plus two how do we get to x plus one so we always go with the invariant we always go from 100 down or go from 100 up um but we always step when we have the base case reached so the the the the the uh the precision where we know exactly oh now it's the answer one or two or three but that's a fixed answer indirect recursion we also talked about and indirect recursion is when you have a function that calls another function that calls the original function so then you still have the function that calls itself but that doesn't happen directly but it happens indirectly through another function all right so in in english so lecture seven we talked about algorithms so algorithms are a cooking recipe um and they start and so a cooking recipe is something to where you have a a starting position then you have a fixed amount of steps and then you end up in a final state and if you follow the algorithm you always end up in the same final state so you start off with the same beginning state and then you take the exact same step so it's just following a certain cooking recipe and there's a lot of these algorithms out there and when an algorithm is used by a lot of people then we call it the design pattern so a design pattern is nothing but a solved problem right so a solved problem can be how to log into a website there's been literally hundreds of thousands of people who thought about it and of course nowadays we just have a standard approach on how to log into a website and this is then called a design pattern so it's not a algorithm in the sense that it is written down in a programming language but it's more a systematic approach on how would you implement this in a programming language for example log into a website we also talked about functions like what is recursion so recursion is a function calling itself when we do recursion we have something which is called the recursion invariant and the recursion invariant is the thing that always goes up or goes down towards the base case so the base case is the case where for example x is zero so we directly know why right so we have an answer when this is our input and then recursion is nothing more than kind of an iterative process saying well if we know the answer to x how do we now go from x plus one back to x or how do we go from x plus two to x plus one to x right and that's this is what the invariant does the invariant always gradually increases towards the base case or it always gradually decreases from where we start down to the base case and as soon as it hits the base case it will kind of walk up the stack count up all of the things that we need and it will give us the answer indirect recursion is the same thing as recursion it's just when you have an intermediate function right we have function one calling function two and function two calls function one again so it is recursing right because we call the same function again but there's an indirect step because it doesn't directly call itself but indirect and that's why it's called indirect recursion so in lecture number eight we talked a lot about how to create your own R package I still think this is one of the most useful skills that you can have as an R programmer because it generally leads to a lot of kind of shared author pertinent publications and where you can just say well you wrote the code I will write the package and then we will publish a really nice software paper besides the analysis paper that you already published so what do you need to create a package well be aware that you need to have R and if you're on windows that you need R tools besides that everything is about structure right it it's just a folder where you have a certain name of the folder and then a certain type of file going in there right so you have the month folder for manuals you have the r folder for r scripts you have the data folder for data and the src folder for external scripts like c or c++ or forthrom know that there are two required files you have to have a description file describing your package right what is the name which version are you using and who are you who's the author and you have the namespace and the namespace file is kind of the file which tells R which functions are exported by my package so which functions and R is my package offering to the user besides that you have a couple of special files so you have the your package name minus package that are data which is kind of the global help file right the entry point to the help and then you have the internal file which lists all of the internal functions so those are functions which are required by your package but which you generally not be called by the user of the package so things which you use internally but the user should not use because the user should just use the provided functions in lecture nine we talked about regression we've been talking a lot about regression but have we talked about what is a regression model what are the different variables in this model so have what what regression is is getting an estimate for these unknown parameters also known as beta these betas belong to the independent variables right so if i have five independent variables x1 to x5 then i will be estimating five different betas as well so the x the predictor is called the independent variable and the response is called the dependent variable and the response is the phenotype or thing that we are interested in well the x are either nuisance variables in which we are not interested in but we need to compensate for it or it is the variables that we have measured and we now want to see if they are predictive of why so we talked about single linear regression and then i also showed you guys how you can calculate your confidence interval yourself and that you can use like the vis-rech package to do a visualization of the 95 confidence interval but we also talked about creating some plots showing regression ourselves where we do like the upline in the plot and also how to visualize things like residuals we also talked a little bit in lecture nine about multiple linear regression that is just when you have more than one x so you have x1 x2 and x3 measured and for example i want to compensate for the height the body weight the length of their ears and the number of tails that someone has and then we are doing multiple linear regression where we have multiple of these independent variables explaining or kind of combined predicting our dependent variable and i also talked how to do quadratic regression in r remember that you have to use the i the capital i identity function around quadratic and and other arguments right so if i have an argument time to the power of two so that i type time and then the roof the axiac and then two but i have to surround this with this capital i for making or telling the regression that this is a quadratic term and not just to do the things to power of two and then use that in lecture 10 we have the linear mixed effect analysis so know what a random effect is know why we should do mixed effect analysis this is of course because power in regression only comes from independent measurement so measuring the same individual 20 times does not give you additional statistical power so you can use a mixed effect model to kind of bring this structure into your analysis so if your analysis is having for example 10 individuals which are repeatedly measured about five times across different time points then you can then you have to use linear mixed effect analysis to tell the model that there is groups in your data so groups which are not independent from each other for example i have measured time series data or i have the same individual measure 10 times so i told you guys how to do that in r also how to get the significant and of course we talked a little bit about what the difference is between a random intercept model where each group is allowed to have their own intercept with the x-axis right so the x-axis where x is or to have their own intercept with the y-axis so at the position where x is zero every group is now allowed to have their own mean for example in mice i always think about when mice are born then the total amount of weight is more or less a constant right a mouse can give birth to around 10 grams of new mice but of course if it only gets five babies every baby will be two grams right so then every individual has an intercept of two at time point zero while if the mouse only got three babies then of course all of these three babies on average are like 3.3 grams so they are allowed to have their own intercept so at x equals zero the y's are allowed to vary we also talked about the random slope model and the random slope model is is different in that sense is that every group is allowed to have their own kind of own kind of beta right so not the intercept is different for each group but the beta for each group might be different for example have females might have a wider range of voice than males and of course that that that then leads to a different slope when you have multiple questions in different tones so know to know how these models are written down know what the idea behind a mixed effect analysis is and know that that the mixed effect analysis is there to tell the model that no i don't have a thousand measurements independent measurements i only have 200 measurements or 200 independent data points which are measured five times right and in the end i still have then a thousand measurements but there is a grouping so five measurements belong to a single individual and of course be aware that the pdf is part of this lecture and then the last lecture which we had today know the difference between linear models right so that's lecture nine lm er's that's lecture 10 and then today we had glms so a glm is a standard linear model but now the response doesn't have to be a continuous normal distribution so it can also be a binary variable saying healthy sick or pass fail right or we can use a Poisson distribution where we say we've measured the amount of bees on a flower yeah often there's zero also often there's one but then sometimes there's two sometimes there's three and almost never there's five bees on a single flower right so the glm function allows you to have response variables of a different type so continuous versus versus counter data versus binary zero one i told you about the vault test so the vault test in a glm allows you to summarize multiple effects into a single p value because if you do a glm then the factor variable gets treated more or less like in independent beta so every beta gets its own p value but often you want to know what is the combined effect of all of these different groups and then you can use a vault test to group multiple coefficients multiple beta coefficients together to get a single p value on how the group of measurements or how the group of or the levels combined influence the result i told you about melting versus costing so going from white format to long format and going from long format to white format going from white to long is called melting and going from long to white is called casting and be able to recognize a matrix as well right so if i give you a matrix with five columns no to recognize if it is in long format or if it is in white format and of course know the idioms that we talked about so hey if i if i ask you guys well here is a function which assigns season two months what is wrong with it then you have to say well this doesn't convert the months it converts the days so but be able to answer questions about the different idioms that we that i showed you guys today all right then for me there's only one thing left to say and that's good luck on the exam of course next week we will have the your own choice lecture which will be totally in the style of pandemic edition three so the way that we're going to do the lectures next year and i wish you all very very good luck on the exam like i'm hoping that everyone will pass in one go and that everyone gets a 1.3 or higher that would be the ideal situation for me because then i don't have to do any re-exams be aware the exam is long there will be 42 questions so make sure to just continue working if you don't know one of the answers just skip it for now and just go to the next questions because there will be a lot of questions also be aware that there will be a drawing question so there will always be a drawing question related to my birthday all right so any remarks feedback so far did you guys like the course did you hate the course do you feel that you've learned something are you feeling more confident about programming in r like any and all feedback is welcome if you say don't stream from holland again because the audio is just horrible then that's also feedback so it's up to you guys what you want to say all right one question are we going to write the exam on a paper or on a computer so you are going to write the exam on paper you are going to photograph the papers and then send them to me when the exam is over and then you will take your papers put them in an envelope and send them to me physically because i do need to have the physical exams in the end so but yeah the idea is that you guys will be monitored via zoom and i will put the exam questions online and then do you need to see my fingers on the cam well no i i i don't know do i need to see your fingers on cam i'm not sure about that but i enjoyed your refreshing teaching style the assignments were too challenging for me maybe solving them together in a computer room and you need to solve this problem yeah that i think is the main problem of the uh online lectures normally what we would do right is we would be on uh on on thursday we would start at two i would do my lecture like two hours and then we would have two hours of sitting together um and working on the assignments so generally hey you guys would split up into groups of two or three people and then you can also discuss with each other and that's the thing i think that is really uh missing because now you're home alone and you have to do the assignments alone you can't directly ask for help um which i think is is a drawback to the digital system but it's something that i can't really solve right you're not allowed yet to enter the university although it might be now but um it it's one of these things that i don't i don't like like the doing the assignments together um no is referring to the question by my name is mausie i don't know perhaps she has very beautiful fingers and that's why she wants to show them on cam like it's it's not illegal to show them what is the reason for writing on paper i need to have a physical copy that's the only reason it's germany so i need to be able to have a physical thing so that in two years when people ask me like did this student really do the exam that i can pick up the physical piece of paper and show yes my name is mausie did the exam and here is the exam so that is why we're doing it on paper right any more questions um last year we actually did a mock exam um if people really want to have like a mock exam or we try it in my uni they are using shiny formula thing for our exam yeah yeah you can do an programming exam in many different ways um this is just like the humble needs me to have a physical thing and if i don't have a physical thing then i need to have like uh because we we are allowed to do oral exams right so in theory we could have oral exams but then i need to have a second graduate who is in the room and i need to have someone who makes a protocol and then both me this second guy and the student need to sign the protocol for it to be it's just a humbled university they they're a little bit difficult when it comes to these things um but of course the nice thing about doing it on paper is you can also do the drawing and drawing is much nicer on paper than it is on computer uh this is laban Swissenschaft and of course this is physical in a certain way i guess yes yeah yeah yeah so i that's i that's the only requirement i think that they have is that in the end like i can give you your credit points when i have a physical proof that you did the exam and pass the exam um but yeah but if you guys want we can we can do a quick mock exam next week after the fishy data lecture um then we just hop on zoom for everyone who wants to kind of figure out how to do it and then we just have like two or three questions that you guys can do and i can supervise and watch my he-man things while you are doing the exam i don't think any of you guys know how who he-man is actually still sold sometimes anyway that's more or less how we're going to do it so and uh that's why you also have two right you have two chances to do the exam so we will also do the drawing by hand on paper but and not on r right yes yes it will just be pen and paper um you will just be sitting there answering the questions and then the last question will be a drawing question um so make a really really nice drawing for me to decide if you are worthy to get the additional points but yeah in theory it's just going to be a standard exam it's just that it's not going to be in person it's just i'm going to watch you guys via zoom instead of walking past your desks and looking sneakily if anyone does the cheating all right any more questions any more remarks any more feedback oh i had an additional question slide all right that's not the case then um thank you guys so much for being here and attending mostly of almost all of the 11 lectures like i see the same names come up a lot um i will be very interesting to see you guys because you've seen me a lot i think like probably like 40 hours in total already um so it will be interesting for me to see you guys um and like i said before i wish you the best of luck during the exam and um next week be sure to attend the fishy fishy data lecture because i spend a lot of time on it making making it look really really beautiful and probably something like this is going to be the third edition of the lecture so next year it will all be in this style i hope if i get all of the slides transformed from what i have now to these kinds so it will be drawing and and looking more beautiful i hope all right then 448 we're perfectly on time thank you for watching and we will see each other next week and otherwise i will see you guys on the exam so thanks for watching and see you soon