introduced macro for prototypes