final style refactoring