new preprocessor with disconintous blocks