Initial implementation of API and documentation