Some improvements, slowly starting working on sane preprocessor.