Nicer output, cleverer eval function