and the typehint should be the interface, not the implementation