added more verbose comments