refactored & updated minesweeper