board refactored