Ok, let's let's put what we've learned together. Look at the code in the source and see if you can follow it.