property weaving impl