added missing virtual methods