Course Project 1 solution