updated AI logic