Major refactoring and cleanup