proivde func to outer call