first commit, bases of the API