add per elem operation