added basic eval loop