mccabe functions