works without eval statment