private virtual methods