Added basic output variation
Added revised evaluator
Added basic state variation
Added revised exception