added some very needed comments