Assignment 3 initial working version