Refoctored code.