* use spaces for indentation * better error reporting * some optimisation * slightly more intelligent preservation of tabulation