Assignment 5: Interfaces Solution