added preprocessor for testing