* initialize value is 0
* calculation not call to_i
* change macro and funcion name
* add / method
* use limits gem