add/improve basic operations for collection