better undo but still not great; now tracking all shapes