extracted Interface
added the interface