added some comments, lest I forget what all those methods are for....