added a little more commenting