refactored into resuable boards