many docs and some refactoring