introduce property resolver