refactor continues
refactor cont'd