Refactored the compilers and added classes.