diff --git a/iOSPlot/HalfPieChartViewController.h b/iOSPlot/HalfPieChartViewController.h
index 6879070..845c547 100644
--- a/iOSPlot/HalfPieChartViewController.h
+++ b/iOSPlot/HalfPieChartViewController.h
@@ -7,9 +7,8 @@
 //
 
 #import <UIKit/UIKit.h>
-#import "GenericViewController.h"
 
-@interface HalfPieChartViewController : GenericViewController {
+@interface HalfPieChartViewController : UIViewController {
     
 }
 
diff --git a/iOSPlot/HalfPieChartViewController.m b/iOSPlot/HalfPieChartViewController.m
index ba194ff..27c832c 100644
--- a/iOSPlot/HalfPieChartViewController.m
+++ b/iOSPlot/HalfPieChartViewController.m
@@ -18,7 +18,7 @@
         // Custom initialization
         
         [self.view setBackgroundColor:[UIColor colorWithWhite:1 alpha:1]];
-		[self.titleLabel setText:@"Half Pie Chart"];
+		[self setTitle:@"Half Pie Chart"];
 		
 		
 		int height = [self.view bounds].size.height-20;
diff --git a/iOSPlot/PCHalfPieChart.m b/iOSPlot/PCHalfPieChart.m
index 2865639..cb619dd 100644
--- a/iOSPlot/PCHalfPieChart.m
+++ b/iOSPlot/PCHalfPieChart.m
@@ -74,7 +74,7 @@
         [self setBackgroundColor:[UIColor clearColor]];
         
         self.titleFont = [UIFont systemFontOfSize:13];
-        self.subtitleFont = [UIFont fontWithName:@"HelveticaNeue-Bold" size:20];
+        self.subtitleFont = [UIFont boldSystemFontOfSize:20];
     
     }
     return self;
@@ -129,11 +129,7 @@
             CGContextAddArc(ctx, origin_x, origin_y, outer_cirlce_radius, (start_degree+180)*M_PI/180.0, (end_degree+180)*M_PI/180.0, 0);
             CGContextClosePath(ctx);
             CGContextFillPath(ctx);
-            
-            //NSString *display_value = [NSString stringWithFormat:@"%.1f%", component.value/total*100];
-            //CGRect displayFrame = CGRectMake(component.point.x, component.point.y, 100, 100);
-            //[display_value drawInRect:displayFrame withFont:[UIFont fontWithName:@"HelveticaNeue-CondensedBold" size:27]];
-            
+
             start_degree = end_degree;
         }
         
diff --git a/iOSPlot/PlotCreator.xcodeproj/honcheng.mode1v3 b/iOSPlot/PlotCreator.xcodeproj/honcheng.mode1v3
index ad4467a..0d72076 100644
--- a/iOSPlot/PlotCreator.xcodeproj/honcheng.mode1v3
+++ b/iOSPlot/PlotCreator.xcodeproj/honcheng.mode1v3
@@ -232,8 +232,6 @@
 			<key>Layout</key>
 			<array>
 				<dict>
-					<key>BecomeActive</key>
-					<true/>
 					<key>ContentConfiguration</key>
 					<dict>
 						<key>PBXBottomSmartGroupGIDs</key>
@@ -279,9 +277,8 @@
 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
 							<array>
 								<array>
-									<integer>30</integer>
-									<integer>29</integer>
-									<integer>25</integer>
+									<integer>16</integer>
+									<integer>9</integer>
 									<integer>0</integer>
 								</array>
 							</array>
@@ -316,12 +313,14 @@
 					<key>Dock</key>
 					<array>
 						<dict>
+							<key>BecomeActive</key>
+							<true/>
 							<key>ContentConfiguration</key>
 							<dict>
 								<key>PBXProjectModuleGUID</key>
 								<string>1CE0B20306471E060097A5F4</string>
 								<key>PBXProjectModuleLabel</key>
-								<string>sample_linechart_data.plist</string>
+								<string>HalfPieChartViewController.h</string>
 								<key>PBXSplitModuleInNavigatorKey</key>
 								<dict>
 									<key>Split0</key>
@@ -329,36 +328,16 @@
 										<key>PBXProjectModuleGUID</key>
 										<string>1CE0B20406471E060097A5F4</string>
 										<key>PBXProjectModuleLabel</key>
-										<string>sample_linechart_data.plist</string>
+										<string>HalfPieChartViewController.h</string>
 										<key>_historyCapacity</key>
 										<integer>0</integer>
 										<key>bookmark</key>
-										<string>F88F6235136C886800BDD93E</string>
+										<string>F861BEE113B7198D009957D4</string>
 										<key>history</key>
 										<array>
-											<string>F897D72B136318F50025FE6E</string>
-											<string>F83260AE1363D87C0045F9DC</string>
-											<string>F83260C61363D97B0045F9DC</string>
-											<string>F832611D1363DD5C0045F9DC</string>
-											<string>F832611E1363DD5C0045F9DC</string>
-											<string>F832611F1363DD5C0045F9DC</string>
-											<string>F832613F1363DE940045F9DC</string>
-											<string>F88CC503136851210096327F</string>
-											<string>F88CC504136851210096327F</string>
-											<string>F88CC505136851210096327F</string>
-											<string>F88CC519136852360096327F</string>
-											<string>F88CC520136852BC0096327F</string>
-											<string>F88CC54F136853F70096327F</string>
-											<string>F88CC55E136854690096327F</string>
-											<string>F88CC584136855560096327F</string>
-											<string>F88CC5DC1368592C0096327F</string>
-											<string>F88CC5DE1368592C0096327F</string>
-											<string>F88CC61113685B320096327F</string>
-											<string>F88CC67F136860880096327F</string>
-											<string>F88CC697136861C50096327F</string>
-											<string>F88CC698136861C50096327F</string>
-											<string>F88CC699136861C50096327F</string>
-											<string>F88F6234136C886800BDD93E</string>
+											<string>F861BEDE13B7198D009957D4</string>
+											<string>F861BEDF13B7198D009957D4</string>
+											<string>F861BEE013B7198D009957D4</string>
 										</array>
 									</dict>
 									<key>SplitCount</key>
@@ -370,14 +349,14 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 0}, {966, 587}}</string>
+								<string>{{0, 0}, {966, 582}}</string>
 								<key>RubberWindowFrame</key>
 								<string>106 167 1238 834 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>PBXNavigatorGroup</string>
 							<key>Proportion</key>
-							<string>587pt</string>
+							<string>582pt</string>
 						</dict>
 						<dict>
 							<key>ContentConfiguration</key>
@@ -390,14 +369,14 @@
 							<key>GeometryConfiguration</key>
 							<dict>
 								<key>Frame</key>
-								<string>{{0, 592}, {966, 201}}</string>
+								<string>{{0, 587}, {966, 206}}</string>
 								<key>RubberWindowFrame</key>
 								<string>106 167 1238 834 0 0 1680 1028 </string>
 							</dict>
 							<key>Module</key>
 							<string>XCDetailModule</string>
 							<key>Proportion</key>
-							<string>201pt</string>
+							<string>206pt</string>
 						</dict>
 					</array>
 					<key>Proportion</key>
@@ -416,9 +395,9 @@
 			</array>
 			<key>TableOfContents</key>
 			<array>
-				<string>F88F6236136C886800BDD93E</string>
+				<string>F861BEE213B7198D009957D4</string>
 				<string>1CE0B1FE06471DED0097A5F4</string>
-				<string>F88F6237136C886800BDD93E</string>
+				<string>F861BEE313B7198D009957D4</string>
 				<string>1CE0B20306471E060097A5F4</string>
 				<string>1CE0B20506471E060097A5F4</string>
 			</array>
@@ -637,7 +616,7 @@
 			<key>TableOfContents</key>
 			<array>
 				<string>F897D6E013630D020025FE6E</string>
-				<string>F88F6238136C886800BDD93E</string>
+				<string>F861BEE413B7198D009957D4</string>
 				<string>1CD0528F0623707200166675</string>
 				<string>XCMainBuildResultsModuleGUID</string>
 			</array>
diff --git a/iOSPlot/PlotCreator.xcodeproj/honcheng.pbxuser b/iOSPlot/PlotCreator.xcodeproj/honcheng.pbxuser
index e81452f..02ce8dc 100644
--- a/iOSPlot/PlotCreator.xcodeproj/honcheng.pbxuser
+++ b/iOSPlot/PlotCreator.xcodeproj/honcheng.pbxuser
@@ -51,7 +51,7 @@
 				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
 				PBXFileTableDataSourceColumnWidthsKey = (
 					20,
-					364,
+					727,
 					20,
 					48,
 					43,
@@ -84,29 +84,14 @@
 					PBXSymbolsDataSource_ReferenceNameID,
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 325945083;
-			PBXWorkspaceStateSaveDate = 325945083;
+			PBXPerProjectTemplateStateSaveDate = 330766678;
+			PBXWorkspaceStateSaveDate = 330766678;
 		};
 		perUserProjectItems = {
-			F801A553136D85E300BA1B35 /* PBXTextBookmark */ = F801A553136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A554136D85E300BA1B35 /* PBXTextBookmark */ = F801A554136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A555136D85E300BA1B35 /* PBXTextBookmark */ = F801A555136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A556136D85E300BA1B35 /* PBXTextBookmark */ = F801A556136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A557136D85E300BA1B35 /* PBXTextBookmark */ = F801A557136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A559136D85E300BA1B35 /* PBXTextBookmark */ = F801A559136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55A136D85E300BA1B35 /* PBXTextBookmark */ = F801A55A136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55B136D85E300BA1B35 /* PBXTextBookmark */ = F801A55B136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55C136D85E300BA1B35 /* PBXTextBookmark */ = F801A55C136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55D136D85E300BA1B35 /* PBXTextBookmark */ = F801A55D136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55E136D85E300BA1B35 /* PBXTextBookmark */ = F801A55E136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A55F136D85E300BA1B35 /* PBXTextBookmark */ = F801A55F136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A560136D85E300BA1B35 /* PBXTextBookmark */ = F801A560136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A561136D85E300BA1B35 /* PBXTextBookmark */ = F801A561136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A563136D85E300BA1B35 /* PBXTextBookmark */ = F801A563136D85E300BA1B35 /* PBXTextBookmark */;
-			F801A6C1136D94A600BA1B35 /* PBXTextBookmark */ = F801A6C1136D94A600BA1B35 /* PBXTextBookmark */;
-			F801A6C2136D94A600BA1B35 /* PBXTextBookmark */ = F801A6C2136D94A600BA1B35 /* PBXTextBookmark */;
-			F801A6C3136D94A600BA1B35 /* PBXTextBookmark */ = F801A6C3136D94A600BA1B35 /* PBXTextBookmark */;
-			F801A6C4136D94A600BA1B35 /* PBXTextBookmark */ = F801A6C4136D94A600BA1B35 /* PBXTextBookmark */;
+			F861BEDE13B7198D009957D4 /* PlistBookmark */ = F861BEDE13B7198D009957D4 /* PlistBookmark */;
+			F861BEDF13B7198D009957D4 /* PBXTextBookmark */ = F861BEDF13B7198D009957D4 /* PBXTextBookmark */;
+			F861BEE013B7198D009957D4 /* PBXTextBookmark */ = F861BEE013B7198D009957D4 /* PBXTextBookmark */;
+			F861BEE113B7198D009957D4 /* PBXTextBookmark */ = F861BEE113B7198D009957D4 /* PBXTextBookmark */;
 		};
 		sourceControlManager = F897D6E213630D020025FE6E /* Source Control */;
 		userBuildSettings = {
@@ -119,196 +104,6 @@
 			sepNavVisRange = "{0, 191}";
 		};
 	};
-	F801A553136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F897D6EF13630FD40025FE6E /* PCPieChart.h */;
-		name = "PCPieChart.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 1117;
-		vrLoc = 222;
-	};
-	F801A554136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F897D6F013630FD40025FE6E /* PCPieChart.m */;
-		name = "PCPieChart.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 835;
-		vrLoc = 728;
-	};
-	F801A555136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F88CC4C613684F0E0096327F /* PCLineChartView.h */;
-		name = "PCLineChartView.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 804;
-		vrLoc = 774;
-	};
-	F801A556136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F88CC4C713684F0E0096327F /* PCLineChartView.m */;
-		name = "PCLineChartView.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 765;
-		vrLoc = 774;
-	};
-	F801A557136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 2860E325111B887F00E27156 /* AppDelegate_iPhone.h */;
-		name = "AppDelegate_iPhone.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 791;
-		vrLoc = 682;
-	};
-	F801A559136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F897D6FE136311E60025FE6E /* PieChartViewController.h */;
-		name = "PieChartViewController.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 809;
-		vrLoc = 611;
-	};
-	F801A55A136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F897D6FF136311E60025FE6E /* PieChartViewController.m */;
-		name = "PieChartViewController.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 823;
-		vrLoc = 728;
-	};
-	F801A55B136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F83260C01363D91E0045F9DC /* PieChartViewController2.h */;
-		name = "PieChartViewController2.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 1271;
-		vrLoc = 0;
-	};
-	F801A55C136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F83260C11363D91E0045F9DC /* PieChartViewController2.m */;
-		name = "PieChartViewController2.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 1271;
-		vrLoc = 0;
-	};
-	F801A55D136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F83260681363D49B0045F9DC /* ChartListViewController.h */;
-		name = "ChartListViewController.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 777;
-		vrLoc = 611;
-	};
-	F801A55E136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F83260691363D49B0045F9DC /* ChartListViewController.m */;
-		name = "ChartListViewController.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 805;
-		vrLoc = 728;
-	};
-	F801A55F136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F88CC4D113684FD30096327F /* LineChartViewController.h */;
-		name = "LineChartViewController.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 870;
-		vrLoc = 611;
-	};
-	F801A560136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F88CC4D213684FD30096327F /* LineChartViewController.m */;
-		name = "LineChartViewController.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 806;
-		vrLoc = 728;
-	};
-	F801A561136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F832608E1363D5CF0045F9DC /* GenericViewController.h */;
-		name = "GenericViewController.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 775;
-		vrLoc = 678;
-	};
-	F801A563136D85E300BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 2860E32C111B888700E27156 /* AppDelegate_iPad.m */;
-		name = "AppDelegate_iPad.m: 13";
-		rLen = 0;
-		rLoc = 201;
-		rType = 0;
-		vrLen = 950;
-		vrLoc = 164;
-	};
-	F801A6C1136D94A600BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 2860E32B111B888700E27156 /* AppDelegate_iPad.h */;
-		name = "AppDelegate_iPad.h: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 1271;
-		vrLoc = 0;
-	};
-	F801A6C2136D94A600BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 2860E326111B887F00E27156 /* AppDelegate_iPhone.m */;
-		name = "AppDelegate_iPhone.m: 37";
-		rLen = 313;
-		rLoc = 1360;
-		rType = 0;
-		vrLen = 840;
-		vrLoc = 871;
-	};
-	F801A6C3136D94A600BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F832608F1363D5CF0045F9DC /* GenericViewController.m */;
-		name = "GenericViewController.m: 32";
-		rLen = 0;
-		rLoc = 1290;
-		rType = 0;
-		vrLen = 1325;
-		vrLoc = 1366;
-	};
-	F801A6C4136D94A600BA1B35 /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = F83260691363D49B0045F9DC /* ChartListViewController.m */;
-		name = "ChartListViewController.m: 45";
-		rLen = 504;
-		rLoc = 1522;
-		rType = 0;
-		vrLen = 763;
-		vrLoc = 1477;
-	};
 	F83260681363D49B0045F9DC /* ChartListViewController.h */ = {
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {542, 546}}";
@@ -351,6 +146,61 @@
 			sepNavVisRange = "{0, 1271}";
 		};
 	};
+	F861BEDE13B7198D009957D4 /* PlistBookmark */ = {
+		isa = PlistBookmark;
+		fRef = F897D6ED13630F560025FE6E /* sample_piechart_data.plist */;
+		fallbackIsa = PBXBookmark;
+		isK = 0;
+		kPath = (
+		);
+		name = "/Users/honcheng/Dropbox/Open Source Projects/PlotCreator/iOSPlot/Sample Data/sample_piechart_data.plist";
+		rLen = 0;
+		rLoc = 9223372036854775807;
+	};
+	F861BEDF13B7198D009957D4 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = F87DE41C1370D82D00347F69 /* HalfPieChartViewController.m */;
+		name = "HalfPieChartViewController.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1600;
+		vrLoc = 0;
+	};
+	F861BEE013B7198D009957D4 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = F87DE41B1370D82D00347F69 /* HalfPieChartViewController.h */;
+		name = "HalfPieChartViewController.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 285;
+		vrLoc = 0;
+	};
+	F861BEE113B7198D009957D4 /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = F87DE41B1370D82D00347F69 /* HalfPieChartViewController.h */;
+		name = "HalfPieChartViewController.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 285;
+		vrLoc = 0;
+	};
+	F87DE41B1370D82D00347F69 /* HalfPieChartViewController.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {905, 550}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 285}";
+		};
+	};
+	F87DE41C1370D82D00347F69 /* HalfPieChartViewController.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 1365}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 1600}";
+		};
+	};
 	F88CC4C613684F0E0096327F /* PCLineChartView.h */ = {
 		uiCtxt = {
 			sepNavIntBoundsRect = "{{0, 0}, {1356, 936}}";
diff --git a/iOSPlot/PlotCreator.xcodeproj/project.pbxproj b/iOSPlot/PlotCreator.xcodeproj/project.pbxproj
index ff1e845..553325f 100755
--- a/iOSPlot/PlotCreator.xcodeproj/project.pbxproj
+++ b/iOSPlot/PlotCreator.xcodeproj/project.pbxproj
@@ -17,7 +17,6 @@
 		288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
 		3794799813706B8400C0E457 /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 3794799713706B8400C0E457 /* JSONKit.m */; };
 		F832606A1363D49B0045F9DC /* ChartListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F83260691363D49B0045F9DC /* ChartListViewController.m */; };
-		F83260901363D5CF0045F9DC /* GenericViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F832608F1363D5CF0045F9DC /* GenericViewController.m */; };
 		F83260AA1363D8170045F9DC /* back_button.png in Resources */ = {isa = PBXBuildFile; fileRef = F83260A81363D8170045F9DC /* back_button.png */; };
 		F83260AB1363D8170045F9DC /* back_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F83260A91363D8170045F9DC /* back_button@2x.png */; };
 		F83260C21363D91E0045F9DC /* PieChartViewController2.m in Sources */ = {isa = PBXBuildFile; fileRef = F83260C11363D91E0045F9DC /* PieChartViewController2.m */; };
@@ -49,8 +48,6 @@
 		8D1107310486CEB800E47090 /* PlotCreator-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "PlotCreator-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
 		F83260681363D49B0045F9DC /* ChartListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChartListViewController.h; path = iPhone/ChartListViewController.h; sourceTree = "<group>"; };
 		F83260691363D49B0045F9DC /* ChartListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ChartListViewController.m; path = iPhone/ChartListViewController.m; sourceTree = "<group>"; };
-		F832608E1363D5CF0045F9DC /* GenericViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GenericViewController.h; path = iPhone/GenericViewController.h; sourceTree = "<group>"; };
-		F832608F1363D5CF0045F9DC /* GenericViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GenericViewController.m; path = iPhone/GenericViewController.m; sourceTree = "<group>"; };
 		F83260A81363D8170045F9DC /* back_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = back_button.png; path = Images/back_button.png; sourceTree = "<group>"; };
 		F83260A91363D8170045F9DC /* back_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "back_button@2x.png"; path = "Images/back_button@2x.png"; sourceTree = "<group>"; };
 		F83260C01363D91E0045F9DC /* PieChartViewController2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PieChartViewController2.h; path = iPhone/PieChartViewController2.h; sourceTree = "<group>"; };
@@ -128,8 +125,6 @@
 				F83260691363D49B0045F9DC /* ChartListViewController.m */,
 				F88CC4D113684FD30096327F /* LineChartViewController.h */,
 				F88CC4D213684FD30096327F /* LineChartViewController.m */,
-				F832608E1363D5CF0045F9DC /* GenericViewController.h */,
-				F832608F1363D5CF0045F9DC /* GenericViewController.m */,
 				8D1107310486CEB800E47090 /* PlotCreator-Info.plist */,
 			);
 			name = Shared;
@@ -272,7 +267,6 @@
 				F897D6F113630FD40025FE6E /* PCPieChart.m in Sources */,
 				F897D700136311E60025FE6E /* PieChartViewController.m in Sources */,
 				F832606A1363D49B0045F9DC /* ChartListViewController.m in Sources */,
-				F83260901363D5CF0045F9DC /* GenericViewController.m in Sources */,
 				F83260C21363D91E0045F9DC /* PieChartViewController2.m in Sources */,
 				F88CC4C813684F0E0096327F /* PCLineChartView.m in Sources */,
 				F88CC4D313684FD30096327F /* LineChartViewController.m in Sources */,
diff --git a/iOSPlot/PlotCreator.xcodeproj/project.xcworkspace/xcuserdata/honcheng.xcuserdatad/UserInterfaceState.xcuserstate b/iOSPlot/PlotCreator.xcodeproj/project.xcworkspace/xcuserdata/honcheng.xcuserdatad/UserInterfaceState.xcuserstate
index a896764..713ab17 100644
--- a/iOSPlot/PlotCreator.xcodeproj/project.xcworkspace/xcuserdata/honcheng.xcuserdatad/UserInterfaceState.xcuserstate
+++ b/iOSPlot/PlotCreator.xcodeproj/project.xcworkspace/xcuserdata/honcheng.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
diff --git a/iOSPlot/Shared/PCLineChartView.m b/iOSPlot/Shared/PCLineChartView.m
index 5227a6a..6303fc0 100644
--- a/iOSPlot/Shared/PCLineChartView.m
+++ b/iOSPlot/Shared/PCLineChartView.m
@@ -53,10 +53,10 @@
         interval = 20;
 		maxValue = 100;
 		minValue = 0;
-		yLabelFont = [[UIFont fontWithName:@"GeezaPro-Bold" size:14] retain]; 
-		xLabelFont = [[UIFont fontWithName:@"HiraKakuProN-W6" size:12] retain];
-		valueLabelFont = [[UIFont fontWithName:@"HiraKakuProN-W6" size:10] retain];
-		legendFont = [[UIFont fontWithName:@"HiraKakuProN-W6" size:10] retain];
+		yLabelFont = [UIFont boldSystemFontOfSize:14];
+		xLabelFont = [UIFont boldSystemFontOfSize:12];
+		valueLabelFont = [UIFont boldSystemFontOfSize:10];
+		legendFont = [UIFont boldSystemFontOfSize:10];
 		
     }
     return self;
@@ -81,6 +81,7 @@
         int y = top_margin + div_height*i;
         CGRect textFrame = CGRectMake(0,y-8,25,20);
         NSString *text = [NSString stringWithFormat:@"%.0f", y_axis];
+        NSLog(@">>>>%@", text);
         [text drawInRect:textFrame 
 				withFont:yLabelFont 
 		   lineBreakMode:UILineBreakModeWordWrap 
diff --git a/iOSPlot/Shared/PCPieChart.m b/iOSPlot/Shared/PCPieChart.m
index 77732d0..7d61d64 100644
--- a/iOSPlot/Shared/PCPieChart.m
+++ b/iOSPlot/Shared/PCPieChart.m
@@ -76,8 +76,8 @@
         // Initialization code
         [self setBackgroundColor:[UIColor clearColor]];
 		
-		self.titleFont = [UIFont fontWithName:@"GeezaPro" size:10];//[UIFont boldSystemFontOfSize:20];
-		self.percentageFont = [UIFont fontWithName:@"HiraKakuProN-W6" size:20];//[UIFont boldSystemFontOfSize:14];
+		self.titleFont = [UIFont boldSystemFontOfSize:10];
+		self.percentageFont = [UIFont boldSystemFontOfSize:20];
 		self.showArrow = YES;
 		self.sameColorLabel = NO;
 		
diff --git a/iOSPlot/iPhone/ChartListViewController.m b/iOSPlot/iPhone/ChartListViewController.m
index f9d3017..da9216b 100644
--- a/iOSPlot/iPhone/ChartListViewController.m
+++ b/iOSPlot/iPhone/ChartListViewController.m
@@ -52,7 +52,7 @@
 		UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,150,30)];
 		[titleLabel setBackgroundColor:[UIColor clearColor]];
 		[titleLabel setTextColor:[UIColor whiteColor]];
-		[titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16]];
+		[titleLabel setFont:[UIFont boldSystemFontOfSize:16]];
 		[titleLabel setText:@"iOSPlot"];
 		[self.navigationItem setTitleView:titleLabel];
 		[titleLabel release];
@@ -90,7 +90,7 @@
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
     if (cell == nil) {
         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
-		[cell.textLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16]];
+		[cell.textLabel setFont:[UIFont boldSystemFontOfSize:16]];
 		[cell setSelectionStyle:UITableViewCellSelectionStyleGray];
 		[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
 	}
diff --git a/iOSPlot/iPhone/GenericViewController.h b/iOSPlot/iPhone/GenericViewController.h
deleted file mode 100644
index fae929e..0000000
--- a/iOSPlot/iPhone/GenericViewController.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Copyright (c) 2011 Muh Hon Cheng
- * Created by honcheng on 28/4/11.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining 
- * a copy of this software and associated documentation files (the 
- * "Software"), to deal in the Software without restriction, including 
- * without limitation the rights to use, copy, modify, merge, publish, 
- * distribute, sublicense, and/or sell copies of the Software, and to 
- * permit persons to whom the Software is furnished to do so, subject 
- * to the following conditions:
- * 
- * The above copyright notice and this permission notice shall be 
- * included in all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT 
- * WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR 
- * PURPOSE AND NONINFRINGEMENT. IN NO EVENT 
- * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
- * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR 
- * IN CONNECTION WITH THE SOFTWARE OR 
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- * @author 		Muh Hon Cheng <honcheng@gmail.com>
- * @copyright	2011	Muh Hon Cheng
- * @version
- * 
- */
-
-#import <UIKit/UIKit.h>
-
-
-@interface GenericViewController : UIViewController {
-	UILabel *titleLabel;
-}
-@property (nonatomic, retain) UILabel *titleLabel;
-
-@end
diff --git a/iOSPlot/iPhone/GenericViewController.m b/iOSPlot/iPhone/GenericViewController.m
deleted file mode 100644
index c343cb1..0000000
--- a/iOSPlot/iPhone/GenericViewController.m
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Copyright (c) 2011 Muh Hon Cheng
- * Created by honcheng on 28/4/11.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining 
- * a copy of this software and associated documentation files (the 
- * "Software"), to deal in the Software without restriction, including 
- * without limitation the rights to use, copy, modify, merge, publish, 
- * distribute, sublicense, and/or sell copies of the Software, and to 
- * permit persons to whom the Software is furnished to do so, subject 
- * to the following conditions:
- * 
- * The above copyright notice and this permission notice shall be 
- * included in all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT 
- * WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR 
- * PURPOSE AND NONINFRINGEMENT. IN NO EVENT 
- * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
- * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR 
- * IN CONNECTION WITH THE SOFTWARE OR 
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- * @author 		Muh Hon Cheng <honcheng@gmail.com>
- * @copyright	2011	Muh Hon Cheng
- * @version
- * 
- */
-#import "GenericViewController.h"
-
-
-@implementation GenericViewController
-@synthesize titleLabel;
-
-- (id)init
-{
-	self = [super init];
-	if (self)
-	{
-		
-		self.titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,150,30)];
-		[self.titleLabel setBackgroundColor:[UIColor clearColor]];
-		[self.titleLabel setTextColor:[UIColor whiteColor]];
-		[self.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16]];
-		[self.navigationItem setTitleView:self.titleLabel];
-		[self.titleLabel release];
-		[self.titleLabel setTextAlignment:UITextAlignmentCenter];
-		
-		UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0,60,40)];
-		[backButton setBackgroundImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
-		[backButton setTitle:@"Back" forState:UIControlStateNormal];
-		[[backButton titleLabel] setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:11]];
-		[backButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
-		UIBarButtonItem *backButtonitem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
-		[backButton release];
-		[self.navigationItem setLeftBarButtonItem:backButtonitem];
-		[backButtonitem release];
-		[backButton addTarget:self action:@selector(onBackButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
-		[backButton setAutoresizingMask:UIViewAutoresizingFlexibleHeight];
-	}
-	return self;
-}
-
-- (void)onBackButtonPressed:(id)sender
-{
-	[self.navigationController popViewControllerAnimated:YES];
-}
-
-/*
-// Implement loadView to create a view hierarchy programmatically, without using a nib.
-- (void)loadView {
-}
- */
-
-/*
-// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
-- (void)viewDidLoad {
-	[super viewDidLoad];
-}
-*/
-
-
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
-    // Overriden to allow any orientation.
-    return YES;
-}
-
-
-- (void)didReceiveMemoryWarning {
-    // Releases the view if it doesn't have a superview.
-    [super didReceiveMemoryWarning];
-    
-    // Release any cached data, images, etc. that aren't in use.
-}
-
-
-- (void)viewDidUnload {
-    [super viewDidUnload];
-    // Release any retained subviews of the main view.
-    // e.g. self.myOutlet = nil;
-}
-
-
-- (void)dealloc {
-	[self.titleLabel release];
-    [super dealloc];
-}
-
-
-@end
diff --git a/iOSPlot/iPhone/LineChartViewController.h b/iOSPlot/iPhone/LineChartViewController.h
index 023f31a..85edf5b 100644
--- a/iOSPlot/iPhone/LineChartViewController.h
+++ b/iOSPlot/iPhone/LineChartViewController.h
@@ -32,10 +32,9 @@
  */
 
 #import <UIKit/UIKit.h>
-#import "GenericViewController.h"
 #import "PCLineChartView.h"
 
-@interface LineChartViewController : GenericViewController {
+@interface LineChartViewController : UIViewController {
 	PCLineChartView *lineChartView;
 }
 
diff --git a/iOSPlot/iPhone/LineChartViewController.m b/iOSPlot/iPhone/LineChartViewController.m
index 690ad7e..a19df4a 100644
--- a/iOSPlot/iPhone/LineChartViewController.m
+++ b/iOSPlot/iPhone/LineChartViewController.m
@@ -42,7 +42,7 @@
 	if (self)
 	{
 		[self.view setBackgroundColor:[UIColor colorWithWhite:1 alpha:1]];
-		[self.titleLabel setText:@"Line Chart"];
+		[self setTitle:@"Line Chart"];
 		
 		lineChartView = [[PCLineChartView alloc] initWithFrame:CGRectMake(10,10,[self.view bounds].size.width-20,[self.view bounds].size.height-20)];
 		[lineChartView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
diff --git a/iOSPlot/iPhone/PieChartViewController.h b/iOSPlot/iPhone/PieChartViewController.h
index 38fae17..2e15025 100644
--- a/iOSPlot/iPhone/PieChartViewController.h
+++ b/iOSPlot/iPhone/PieChartViewController.h
@@ -32,9 +32,8 @@
  */
 
 #import <UIKit/UIKit.h>
-#import "GenericViewController.h"
 
-@interface PieChartViewController : GenericViewController {
+@interface PieChartViewController : UIViewController {
 
 }
 
diff --git a/iOSPlot/iPhone/PieChartViewController.m b/iOSPlot/iPhone/PieChartViewController.m
index 3a7354c..3ae9afc 100644
--- a/iOSPlot/iPhone/PieChartViewController.m
+++ b/iOSPlot/iPhone/PieChartViewController.m
@@ -42,7 +42,7 @@
 	if (self)
 	{
 		[self.view setBackgroundColor:[UIColor colorWithWhite:1 alpha:1]];
-		[self.titleLabel setText:@"Pie Chart"];
+		[self setTitle:@"Pie Chart"];
 		
 		
 		int height = [self.view bounds].size.width/3*2.; // 220;
diff --git a/iOSPlot/iPhone/PieChartViewController2.h b/iOSPlot/iPhone/PieChartViewController2.h
index 5e36d5a..364e6f3 100644
--- a/iOSPlot/iPhone/PieChartViewController2.h
+++ b/iOSPlot/iPhone/PieChartViewController2.h
@@ -32,9 +32,8 @@
  */
 
 #import <UIKit/UIKit.h>
-#import "GenericViewController.h"
 
-@interface PieChartViewController2 : GenericViewController {
+@interface PieChartViewController2 : UIViewController {
 
 }
 
diff --git a/iOSPlot/iPhone/PieChartViewController2.m b/iOSPlot/iPhone/PieChartViewController2.m
index 78a682f..8fc19ae 100644
--- a/iOSPlot/iPhone/PieChartViewController2.m
+++ b/iOSPlot/iPhone/PieChartViewController2.m
@@ -42,7 +42,7 @@
 	if (self)
 	{
 		[self.view setBackgroundColor:[UIColor colorWithWhite:1 alpha:1]];
-		[self.titleLabel setText:@"Pie Chart"];
+		[self setTitle:@"Pie Chart"];
 		
 		
 		int height = [self.view bounds].size.width/3*2.; // 220;
