This is necessary so as to add optimization points to the pipeline. At the moment, it is a disaster!