added refund class and spec
updated refund logic. all tests pass
updated refund logic. all tests pass