added eval function, currently very basic