Feature/api

This pull request involves the feature of the API, please take a look :)