first commit of APIs, unit tests