huge speed improvements