maybe for the futrue but should we consider having formatter object passed in? and delegate this call to it and use what we just made as the default one? Maybe we can defer this till we localize this.