added some extra functions