Experimental speed up, needs some tests