add eval
add block and call