refactored Board