refactor, docs