more strict about defaulting to json