add the code about perform evaluation and update some errors