make virtual method private