API Implementation

API documentation to come

Fixes #27 #57