 		}
 	}
 	
-	func visit(object: SectionFormItem) {
-		let footerBlock: TableViewSectionPart.CreateBlock = {
-			return TableViewSectionPart.None
-		}
-		closeSection(footerBlock)
-	}
-
-	func visit(object: SectionHeaderTitleFormItem) {
-		if cells.count > 0 || self.headerBlock != nil {
-			let footerBlock: TableViewSectionPart.CreateBlock = {
-				return TableViewSectionPart.None
-			}
-			closeSection(footerBlock)
-		}
-
-		self.headerBlock = {
-			var item = TableViewSectionPart.None
-			if let title = object.title {
-				item = TableViewSectionPart.TitleString(string: title)
-			}
-			return item
-		}
-	}
-	
-	func visit(object: SectionHeaderViewFormItem) {
-		if cells.count > 0 || self.headerBlock != nil {
-			let footerBlock: TableViewSectionPart.CreateBlock = {
-				return TableViewSectionPart.None
-			}
-			closeSection(footerBlock)
-		}
-
-		self.headerBlock = {
-			let view: UIView? = object.viewBlock?()
-			var item = TableViewSectionPart.None
-			if let view = view {
-				item = TableViewSectionPart.TitleView(view: view)
-			}
-			return item
-		}
-	}
-
+	
+	// MARK: SectionFooterTitleFormItem
+	
 	func visit(object: SectionFooterTitleFormItem) {
 		let footerBlock: TableViewSectionPart.CreateBlock = {
 			var footer = TableViewSectionPart.None

		closeSection(footerBlock)
	}
	
	func visit(object: SegmentedControlFormItem) {
		var model = SegmentedControlCellModel()
		model.title = object.title

		}
	}
	
	
	// MARK: MetaFormItem
	
	func visit(object: MetaFormItem) {
		// this item is not visual
	}
	
	
	// MARK: OptionPickerFormItem
	
	func visit(object: OptionPickerFormItem) {
		var model = OptionViewControllerCellModel()
		model.title = object.title
		model.placeholder = object.placeholder
		model.optionField = object
		model.selectedOptionRow = object.selected

		weak var weakObject = object
		model.valueDidChange = { (value: OptionRowModel?) in
			SwiftyFormLog("propagate from cell to model. value \(value)")
			weakObject?.innerSelected = value
			weakObject?.valueDidChange(selected: value)
		}
		
		let cell = OptionViewControllerCell(
			parentViewController: self.model.viewController,
			model: model
		)
		cells.append(cell)
		
		weak var weakCell = cell
		object.syncCellWithValue = { (selected: OptionRowModel?) in
			SwiftyFormLog("propagate from model to cell. option: \(selected?.title)")
			weakCell?.setSelectedOptionRowWithoutPropagation(selected)
		}
	}
	
	
	// MARK: OptionRowFormItem
	
	func visit(object: OptionRowFormItem) {
		weak var weakViewController = self.model.viewController
		let cell = OptionCell(model: object) {
