add function body() and generation_headers()