compiler now parses more sanely and returns a script instead of a stream