public static SpeciePoolEvolution readTargetBehavior(String filePath) throws InvalidInputException {
		BufferedReader reader = null;
		SpeciePoolEvolution speciePoolEvolution = new SpeciePoolEvolution();

		try {
			reader = new BufferedReader(new FileReader(new File(filePath)));

			readConcentrationsAtSpecificTimePoints(filePath, speciePoolEvolution, reader);
		} catch (IOException ioException) {
			throw new InvalidInputException(TARGET_BEHAVIOUR_INPUT_ERROR);
		} catch (NumberFormatException numberFormatException) {
			throw new InvalidInputException(TARGET_BEHAVIOUR_NUMBER_ERROR);
		} catch (InvalidInputException invalidInputException) {
			throw invalidInputException;
		}
		finally {
			closeTargetBehaviourReader(reader);
		}
		
		return speciePoolEvolution;
	}