added draft of the function definition extraction