Added Interfaces as per the homework