renames, refactoring and more documentation