Initial commit of complete assignment 1