added evaluate(string[])