refactoring non abusive scope