reverting eval in favor of JSON.parse()