Add preprocessor, first release (TODO: arrange commit)