use propertize instead of put-text-property