before: massive Model refactor
refactor: Api, add: Api documentation