cmpe273-assignment2new2