reformat and add new features: ^ and @(equal to evolution)