changed string evals to happen in global scope and via setTimeout(..)