Better organizing the API layer
Wrapping up basic API layer