Separated eval logic from specrunner, general improvements