Interfaces defined and implemented