Support precise property-value replacement

Fix gh-1