sum implemented and passing tests winding either way