Complete API implementation - not tested yet