scripting and compilation