add eval support
fix bug #18