added more precise comments