Implement the interface