     // MARK: --- Accessory pages
     
     // Draw front page
-    func drawFrontPage() throws {
-        guard delegate != nil else { throw MWTPrintModuleError.DelegateIsMissing }
+    func drawFrontPage(compact: Bool) throws {
+        guard delegate != nil else { throw SFA4PrintModuleError.DelegateIsMissing }
         
         printJobDetails.currentPosition = printJobDetails.pageOrigin
         printJobDetails.currentRowPosition = printJobDetails.rowOrigin


// MARK: - MWTPageSize struct

let MWTPrintModuleBasePrintableMargin: CGFloat = CGFloat(36.0)

struct MWTPageSize {
    let width: CGFloat
    let height: CGFloat
    
    // Print margins
    var topMargin: CGFloat = MWTPrintModuleBasePrintableMargin
    var rightMargin: CGFloat = MWTPrintModuleBasePrintableMargin
    var bottomMargin: CGFloat = MWTPrintModuleBasePrintableMargin
    var leftMargin: CGFloat = MWTPrintModuleBasePrintableMargin
    
    // Init
    

        UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
        self.delegate?.drawFrontPage(self, printablePageDetails: printablePageDetails)
        
        if !compact {
            printJobDetails.currentPage++
            printJobDetails.currentPosition = printJobDetails.pageOrigin
        }
        
        printJobDetails.currentRowPosition = printJobDetails.rowOrigin
    }
    
    // Draw summary page
    func drawSummaryPage(compact: Bool) throws {
        guard delegate != nil else { throw SFA4PrintModuleError.DelegateIsMissing }
        
        if !compact {
            printJobDetails.currentPosition = printJobDetails.pageOrigin
            
            UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
            self.delegate?.drawSummaryPage(self, printablePageDetails: printablePageDetails)
            
            printJobDetails.currentPage++
            printJobDetails.currentPosition = printJobDetails.pageOrigin
            printJobDetails.currentRowPosition = printJobDetails.rowOrigin
            
            return
        }
        
        // compact mode
        let currentCellHeight: CGFloat
        let currentSpacing: CGFloat
        
        if let datasourceObj = self.datasource {
            currentCellHeight = datasourceObj.tableReportCellHeight(self)
            currentSpacing = datasourceObj.tableReportItemSpacing(self)
        } else {
            currentCellHeight = self.tableItemCellHeight
            currentSpacing = self.tableItemSpacing
        }
        
        self.printJobDetails.currentPosition += currentCellHeight + currentSpacing
        self.delegate?.drawSummaryPage(self, printablePageDetails: printablePageDetails)
    }
    
    func addPage() {
        printJobDetails.currentPage++
        printJobDetails.currentPosition = printJobDetails.pageOrigin
        printJobDetails.currentRowPosition = printJobDetails.rowOrigin
        
        UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
    }
    
    // MARK: --- Table report formatting
