created a new format handler trait to allow custom formatting of any data type