Refatored code.