modificado function