 
 class GameOfLifeScreenSaverView: ScreenSaverView {
     
-    private static let cellSize: Int = 50
+    private static let targetCellSize: CGFloat = 50.0
     
     private static let frameRate = 60.0
     private static let transitionTime = 2.75

    }

    override init?(frame: NSRect, isPreview: Bool) {
        let width = Int(Int(frame.width) + GameOfLifeScreenSaverView.cellSize) / GameOfLifeScreenSaverView.cellSize
        let height = Int(Int(frame.height) + GameOfLifeScreenSaverView.cellSize) / GameOfLifeScreenSaverView.cellSize
        self.game = GameOfLife(width: width, height: height)
        self.game.randomizeCells()
        self.game.step()
        

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)
        
        self.game.mapCells { x, y, cell in
            let cellRect = NSRect(
                x: floor(CGFloat(x) * self.cellSize),
                y: floor(CGFloat(y) * self.cellSize),
                width: ceil(self.cellSize),
                height: ceil(self.cellSize)
            )

            let cellColor = self.color(forCell: cell)
