Heavy renaming and refactoring