the start of assignment2