add PropertyAttribute & varitual variable parser