implement ko, clean up playMove(...)