Implement a lot of end points