Draft 1
revised to end of solution