diff --git a/Classes/Controller/JoblistController.php b/Classes/Controller/JoblistController.php
index 3d0c07fb1a7e9938ce1f357d44ec21866e4919e1..c1a60fc1b6cf19cc19dea382c17e8ea814fc2fc5 100644
--- a/Classes/Controller/JoblistController.php
+++ b/Classes/Controller/JoblistController.php
@@ -164,17 +164,9 @@ class JoblistController extends ActionController {
 			->setTypeConverterOptions(UploadedFileReferenceConverter::class, $uploadConfiguration);
 		$propertyMappingConfiguration->forProperty('cv')
 			->setTypeConverterOptions(UploadedFileReferenceConverter::class, $uploadConfiguration);
-		$propertyMappingConfiguration->forProperty('certificates')
+		$propertyMappingConfiguration->forProperty('certificates.0')
 			->setTypeConverterOptions(UploadedFileReferenceConverter::class, $uploadConfiguration);
 
-//		try {
-//			$this->handleFileUpload('coverLetter', $uniqueFolderName);
-//			$this->handleFileUpload('cv', $uniqueFolderName);
-//			$this->handleFileUpload('certificates', $uniqueFolderName);
-//		} catch (\Exception $exception) {
-//			$this->redirect('applyForm', NULL, NULL, ['error' => $exception->getMessage()]);
-//		}
-
 		$uploadedFiles = $this->getExistingApplicationFiles($uniqueFolderName);
 		$this->request->setArgument('uploadedFiles', $uploadedFiles);
 		$this->request->setArgument('folderName', $uniqueFolderName);
diff --git a/Classes/Property/TypeConverter/UploadedFileReferenceConverter.php b/Classes/Property/TypeConverter/UploadedFileReferenceConverter.php
index c3748b68e0478fabd5ca1ca2f868f1717fc97df1..d5def79e998da1854092d024859176711ce1cd91 100644
--- a/Classes/Property/TypeConverter/UploadedFileReferenceConverter.php
+++ b/Classes/Property/TypeConverter/UploadedFileReferenceConverter.php
@@ -108,14 +108,14 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 	 * Actually convert from $source to $targetType, taking into account the fully
 	 * built $convertedChildProperties and $configuration.
 	 *
-	 * @param string|int $source
+	 * @param array $source
 	 * @param string $targetType
 	 * @param array $convertedChildProperties
 	 * @param \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration
+	 * @return null|\TYPO3\CMS\Core\Resource\FileInterface|FileReference|Error
 	 * @throws \TYPO3\CMS\Extbase\Security\Exception\InvalidHashException
 	 * @throws \TYPO3\CMS\Extbase\Security\Exception\InvalidArgumentForHashGenerationException
 	 * @throws \TYPO3\CMS\Core\Resource\Exception\FileDoesNotExistException
-	 * @return \TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder
 	 * @api
 	 * @throws \TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException
 	 */
@@ -165,7 +165,9 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 		}
 
 		try {
-			$resource = $this->importUploadedResource($source, $configuration);
+			if ($configuration) {
+				$resource = $this->importUploadedResource($source, $configuration);
+			}
 		} catch (\Exception $e) {
 			return new Error($e->getMessage(), $e->getCode());
 		}
@@ -184,7 +186,8 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 	 * @throws \TYPO3\CMS\Extbase\Security\Exception\InvalidArgumentForHashGenerationException
 	 * @throws \TYPO3\CMS\Extbase\Security\Exception\InvalidHashException
 	 */
-	protected function importUploadedResource(array $uploadInfo, PropertyMappingConfigurationInterface $configuration) {
+	protected function importUploadedResource(array $uploadInfo, PropertyMappingConfigurationInterface $configuration
+	): FileReference {
 		if (!GeneralUtility::verifyFilenameAgainstDenyPattern($uploadInfo['name'])) {
 			throw new TypeConverterException('Uploading files with PHP file extensions is not allowed!', 1399312430);
 		}
@@ -204,9 +207,7 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 		$uploadFolderId = $configuration->getConfigurationValue(
 			UploadedFileReferenceConverter::class, self::CONFIGURATION_UPLOAD_FOLDER
 		) ?: $this->defaultUploadFolder;
-		if (class_exists(DuplicationBehavior::class)) {
-			$defaultConflictMode = \TYPO3\CMS\Core\Resource\DuplicationBehavior::RENAME;
-		}
+		$defaultConflictMode = DuplicationBehavior::RENAME;
 
 		$conflictMode = $configuration->getConfigurationValue(
 			UploadedFileReferenceConverter::class, self::CONFIGURATION_UPLOAD_CONFLICT_MODE
@@ -230,7 +231,8 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 	 * @param int $resourcePointer
 	 * @return \SGalinski\SgJobs\Domain\Model\FileReference
 	 */
-	protected function createFileReferenceFromFalFileObject(FalFile $file, $resourcePointer = NULL) {
+	protected function createFileReferenceFromFalFileObject(FalFile $file, $resourcePointer = NULL
+	): \SGalinski\SgJobs\Domain\Model\FileReference {
 		$fileReference = $this->resourceFactory->createFileReferenceObject(
 			[
 				'uid_local' => $file->getUid(),
@@ -251,6 +253,7 @@ class UploadedFileReferenceConverter extends AbstractTypeConverter {
 		FalFileReference $falFileReference, $resourcePointer = NULL
 	) {
 		if ($resourcePointer === NULL) {
+			/** @var \SGalinski\SgJobs\Domain\Model\FileReference $fileReference */
 			$fileReference = $this->objectManager->get(FileReference::class);
 		} else {
 			$fileReference = $this->persistenceManager->getObjectByIdentifier(
diff --git a/Resources/Private/Templates/Joblist/ApplyForm.html b/Resources/Private/Templates/Joblist/ApplyForm.html
index 3d61413950c9c8fabbbd237c503dc121e1811e85..c9adeffd3ab913ae07b4720cef8401090ac350e9 100644
--- a/Resources/Private/Templates/Joblist/ApplyForm.html
+++ b/Resources/Private/Templates/Joblist/ApplyForm.html
@@ -164,7 +164,7 @@
 
 		<p>
 			<label for="apply-email"><f:translate key="frontend.apply.email" /></label>
-			<f:form.textfield type="email" property="email" id="apply-email" data="{}" />
+			<f:form.textfield type="email" property="email" id="apply-email" />
 			<f:form.validationResults for="applyData.email">
 				<f:for each="{validationResults.errors}" as="error">
 					<div class="sg-jobs-validation-error">
@@ -229,6 +229,13 @@
 					<a href="#" filetype="certificates" class="remove-file">(remove)</a>
 				</div>
 			</f:for>
+			<f:form.validationResults for="applyData.certificates">
+				<f:for each="{validationResults.errors}" as="error">
+					<div class="sg-jobs-validation-error">
+						{error.message}
+					</div>
+				</f:for>
+			</f:form.validationResults>
 		</p>
 
 		<p>
diff --git a/ext_typoscript_setup.txt b/ext_typoscript_setup.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9e7800a80c7448d6fb846e914e41e2a749cfd2b9
--- /dev/null
+++ b/ext_typoscript_setup.txt
@@ -0,0 +1,18 @@
+config.tx_extbase {
+	persistence {
+		classes {
+			SGalinski\SgJobs\Domain\Model\FileReference {
+				mapping {
+					tableName = sys_file_reference
+					columns {
+						uid_local.mapOnProperty = originalFileIdentifier
+					}
+				}
+			}
+		}
+	}
+
+	objects {
+		TYPO3\CMS\Extbase\Domain\Model\FileReference.className = SGalinski\SgJobs\Domain\Model\FileReference
+	}
+}