Simplified, still very slow.