Mega-refactoring and docs
5 files changed