Refactoring and added alias preprocessor