wrap eval so it works
apparently eval's signature is the other way round