with bounds