         drawPlatformBorderInRect(borderRect)
         drawPlatformInRect(platformRect)
         drawGridLinesInRects(gridLineRects)
-        drawMarksInRect(platformRect)
+        drawMarksInPlatformRect(platformRect)
         
         if let winningPositions = winningPositions {
-            let (startPoint, endPoint) = pointsForWinningLineThroughPositions(winningPositions, inRect: platformRect)
+            let (startPoint, endPoint) = pointsForWinningLineThroughPositions(winningPositions, inPlatformRect: platformRect)
             drawWinningLineFrom(startPoint, to: endPoint)
         }
     }

        context.fillRect(rect, color: Color.platformFill)
    }
    
    func drawGridLinesInRects(gridLineRects: [CGRect]) {
        gridLineRects.forEach {
            context.fillRect($0, color: Color.gridLine)
        }
    }
    
    func drawMarksInRect(rect: CGRect) {
        guard let gameBoard = gameBoard else { return }
        for row in 0..<gameBoard.dimension {
            let marksInRow = gameBoard.marksInRow(row)
            for column in 0..<gameBoard.dimension {
                if let mark = marksInRow[column] {
                    let cellRect = cellRectAtRow(row, column: column, inRect: rect)
                    drawMark(mark, inRect: cellRect)
                }
            }

        return (startPoint, endPoint)
    }
    
    func cellRectsWithPositions(positions: [GameBoard.Position], inPlatformRect platformRect: CGRect) -> [CGRect] {
        return positions.map {
            cellRectAtRow($0.row, column: $0.column, inPlatformRect: platformRect)
        }
    }
    
    func cellRectAtRow(row: Int, column: Int, inPlatformRect platformRect: CGRect) -> CGRect {
        let
        totalLength = platformRect.width,
        cellLength  = totalLength / CGFloat(cellsPerAxis),
        leftEdge    = platformRect.minX + CGFloat(column) * cellLength,
        topEdge     = platformRect.minY + CGFloat(row) * cellLength,
        naturalRect = CGRect(x: leftEdge, y: topEdge, width: cellLength, height: cellLength),
        cellRect    = naturalRect.insetUniformlyBy(Thickness.gridLine)
        return cellRect
