fixed upper lower limit problem
final state