board builder works. need to refactor