Taken rounding outside of the calculator
Added special case when rate is zero
Refactored rate generation
Further refactoring
Added readme