First, partial implementation of the assignment.