add VirtualMethed