last happy path implemented in the API. working on the not-so-happy paths now