the discount factor can be INT and I had to consider this case separately