begin refactoring documentation