added lower and upper bound