optional arg encoder