improved preprocessor dialog