Basic compilation functionality DONE