implement formatting to 3-address code, added arrays, functions, etc.