added primitives and some eval