Complete refactoring
Complete refactoring