added some more commenting