added upper bound for parameters