add virtual getter and setter
add virtual getter and setter support