handle both []interface{} and []string