 
 	init(width: Int, height: Int) {
 		m = Matrix<Cell>(width: width, height: height, repeatValue: Cell(state: .dead, x: 0, y: 0))
-		
+
 		// We walk the matrix
 		for (x, y, cell) in m {
 			m[x, y] = Cell(state: cell.state, x: x, y: y)
 		}
-		
+
 		// Update neighbours
 		for (_, _, cell) in m {
 			cell.neighbours = neighbours(for: cell)
 		}
 	}
-	
+
 	func livingCells() -> [Cell] {
 		return m.filter { (x: Int, y: Int, element: Cell) -> Bool in
 			return element.state == .alive

		group.wait()

		activeCells.removeAll()
		
		for cell in dyingCells {
			cell.state = .dead
			
			if !cell.active {
				cell.active = true
				activeCells.append(cell)
			}
			
			for nCell in cell.neighbours {
				if !nCell.active {
					nCell.active = true

			return element
		}
	}

	func update(state: CellState, x: Int, y: Int) -> Cell {
		let cell = m[x, y]
		cell.state = state
