bulk operations implemented