Reworked preprocessor - individual classes have functionality