added BuildBoard method and canMove