optimized the Operator
fixed the tranisent issue
optimized the prereq operator