removed reverse prototype, replaced with #define