recursive example comiles and runs