interfaces supplied by assignment for programming in java assignment 2 (v1.1)