finished required OOExercise