better separation of functions and improved currency handling