changed the interfaces