visuals properties are optional