The slowing up is caused by this part itself. Rest all the additions are just handling up of corner cases.