Moving over to API implementation