adding preprocessor to handle authentication