             cell!.menuItem = restoMenu?.meat[indexPath.row] as? RestoMenuItem
         case .Vegetable:
             cell!.vegetable = restoMenu?.vegetables[indexPath.row] as? String
+        default: break
         }
         
         return cell!
     }
     
-    func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        return 40
+    // Using footers of the previous section instead of headers so they scroll
+    func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        // Zero height for last section footer
+        return section < 3 ? 40 : 0
     }
     
-    func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
+    func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView?{
+        // Return nil if last footer
+        if section == 3 {
+            return nil
+        }
         let frame = CGRectMake(0, 0, self.bounds.width, 40)
         let header = UIView(frame: frame)
         

    }
    
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 3; //TODO: add maaltijdsoep
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

                return (restoMenu?.meat.count)!
            case .Vegetable:
                return (restoMenu?.vegetables.count)!
            default:
                return 0
            }

        }
