finished up to second task. I am going to add a few extra features