now refactoring … … … … …