make evaluation synchronous and improve specs