checkpoint
refactoring done. ready to carry on