add recursive example
add function pointer example