Added comments to describe reasons for each move