updated w/ comments