add another implemention of String.format