version 1 of the assignment