use the interface