Implement the APIs