eval_block should be private