add currency support and tests