started implementing the assignment