use send instead of eval