Hopefully finished assignment 2