parser now records shorthand properties as separate rules for manipulation