optimization, still slow