allowing formatters to be passed in as options