trying to use the same implementation for dollar and francs
moved implementation to base class and some refactoring
making the two contructors identical