added reset and update methods, to reuse pieces
adding BoardGenerator
refactoring Boardview