add support for template variables
add compile_file