revamp/refactor the entire api into more consistent code, and better legibility. using different packages for tasks, reducing endpoint load times, etc.