optimized speed by removing some temporary holders