performance changes implementation