added collection functions