add some collection related routines