add documentation and refactoring roadmap