eval is evil, unconditionally evil, can not allow it, searching for another solution