issue #1 : cleaner solution using named formatting strings like {host} and arg host=localhost etc