added target_dict so as to not have the user input the target type for the same target multiple times