refactor, documentation additions