added some extra comments