differentiate between AST and Program
better compilation instructions