second part of the assignment