cmpe273-assignment2