update AI. (part i)
update AI. (part ii)