Final version for assignment 1. Ready to go for assignment 2.