Added a class which deals with source file compilation