added smartbot and LEARN functionality. fixed errors in board.py