add grep
add c array
add tail calls and syntax of if