SPL151 Assignment 3