improve board testing and abstraction