added some extra documentation