add casting notes to readme
add template
add tail recursion