add reference count in eval.c