you can update the amount now and it will recalculate. code aint pretty yet and still need to write some unit tests