CP3101B assignment 3