Shouldn't client implement the interface too?