3 solved, but MAJOR optimization needed