use Function instead of eval. got rid of accidental global in master callback (ugh)