refactored make_change