add implementation to board.h