changed eval function