Massive re-write to get hand evaluation working properly!