check-point, work in progress
check-point, work in progress
refactored code, plus tests