first version of the compilation process