weird. over-assigning self.eval_str was bug