added eval and replace