CSA3221 Assignment