Refactoring to follow 'Ask for what you need' rule