Fixed Polymorphism

Fixed polymorphism issue when performing an action on the board. Also
removed some duplicate code in move and capture methods in the board.