camp vs cgmp function