remove eval implementation, use send