add virtual and some mod