All Visit functions are modified as virtual fucntion.