add initial layout support
add layout
add layout
add dynamic control for board size