support loading the script from a file