updated some comments to make behavior clearer