optimize part count
add ackermann function to tests