som refactoring