Refactor cont'd