big update: organized objects into apis, documentation, refactors