represent board in js state
imperfect ai