Initial version with API methods.