using args and a block to manage format