added bulk function