performance improvement & rewrited -> rewrote