refactored entire codebase to a more lean approach
doc updates