Initial module commit

First version of the API