change NewFormatter to Formatter
introduce format modes for higher stdlib compatability