added precise comments