added cmp prototypes