adding mising abstract function