Enhancement/refactoring