defaulting projection to an empty object if it's an empty string