CMPUT301 assignement1