* refactored code.