based on issue #2

abstractifies the currency and a few other options