rename directories
add numeric loop constructs
add tailcall