this appears to complete the assignment from a code perspective