def check_comp_options(input,):
	"""
	Checks the inputs of the mcmc_options dictionary and ensures that 
	all keywords have valid values. 

	comp_options={
	'fit_feii'    : True, # fit broad and narrow FeII emission
	'fit_losvd'   : True, # fit LOSVD (stellar kinematics) in final model
	'fit_host'    : True, # fit host-galaxy using template (if fit_LOSVD turned off)
	'fit_power'   : True, # fit AGN power-law continuum
	'fit_broad'   : True, # fit broad lines (Type 1 AGN)
	'fit_narrow'  : True, # fit narrow lines
	'fit_outflows': True, # fit outflows;
	'tie_narrow'  : False,  # tie narrow widths (don't do this)
	}
	"""
	output={} # output dictionary

	if not input:
		output={
		'fit_feii'    : True, # fit broad and narrow FeII emission
		'fit_losvd'   : False, # fit LOSVD (stellar kinematics) in final model
		'fit_host'    : True, # fit host-galaxy using template (if fit_LOSVD turned off)
		'fit_power'   : True, # fit AGN power-law continuum
		'fit_broad'   : True, # fit broad lines (Type 1 AGN)
		'fit_narrow'  : True, # fit narrow lines
		'fit_outflows': True, # fit outflows;
		'tie_narrow'  : False,  # tie narrow widths (don't do this)
		}
		return output

	# Check fit_feii
	if 'fit_feii' in input:
		fit_feii = input['fit_feii']
		if (not isinstance(fit_feii,(bool,int))):
				raise TypeError('\n fit_feii must be set to "True" or "False" \n')
		else: 
			output['fit_feii']=fit_feii
	else: 
		output['fit_feii']= True
	# Check fit_losvd
	if 'fit_losvd' in input:
		fit_losvd = input['fit_losvd']
		if (not isinstance(fit_losvd,(bool,int))):
				raise TypeError('\n fit_losvd must be set to "True" or "False" \n')
		else: 
			output['fit_losvd']=fit_losvd
	else: 
		output['fit_losvd']= True
	# Check fit_host
	if 'fit_host' in input:
		fit_host = input['fit_host']
		if (not isinstance(fit_host,(bool,int))):
				raise TypeError('\n fit_host must be set to "True" or "False" \n')
		else: 
			output['fit_host']=fit_host
	else: 
		output['fit_host']= True
	# Check fit_power
	if 'fit_power' in input:
		fit_power = input['fit_power']
		if (not isinstance(fit_power,(bool,int))):
				raise TypeError('\n fit_power must be set to "True" or "False" \n')
		else: 
			output['fit_power']=fit_power
	else: 
		output['fit_power']= True
	# Check fit_broad
	if 'fit_broad' in input:
		fit_broad = input['fit_broad']
		if (not isinstance(fit_broad,(bool,int))):
				raise TypeError('\n fit_broad must be set to "True" or "False" \n')
		else: 
			output['fit_broad']=fit_broad
	else: 
		output['fit_broad']= True
	# Check fit_narrow
	if 'fit_narrow' in input:
		fit_narrow = input['fit_narrow']
		if (not isinstance(fit_narrow,(bool,int))):
				raise TypeError('\n fit_narrow must be set to "True" or "False" \n')
		else: 
			output['fit_narrow']=fit_narrow
	else: 
		output['fit_narrow']= True
	# Check fit_outflows
	if 'fit_outflows' in input:
		fit_outflows = input['fit_outflows']
		if (not isinstance(fit_outflows,(bool,int))):
				raise TypeError('\n fit_outflows must be set to "True" or "False" \n')
		else: 
			output['fit_outflows']=fit_outflows
	else: 
		output['fit_outflows']= True
	# Check tie_narrow
	if 'tie_narrow' in input:
		tie_narrow = input['tie_narrow']
		if (not isinstance(tie_narrow,(bool,int))):
				raise TypeError('\n tie_narrow must be set to "True" or "False" \n')
		else: 
			output['tie_narrow']=tie_narrow
	else: 
		output['tie_narrow']= False


	# print output
	return output