Added support for recursive function calls