desgined the interface