Object refactor + docs