Cleaned up charParser