cleaned up recursive.c