bug fix & preprocessor defined