optimized speed by removing the number of temporary holders