This is my homework so far.