Basic board implementation and UI