re-wrote compiler
Updated compiler