reduce complexity of choose_formatters