Changed to allow random function names and random variable names