more fixes, getPieceLeft(etc) wasn't applying to the right state