added interface for exercise 3