added upper bound for ts