added some verbose comments