diff --git a/pages/_app.tsx b/pages/_app.tsx
index 72f68b010f197e3d485fcd74a5ad7d6623fd5b37..bce8840fee98852b2500818232231247f806daa5 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -93,8 +93,6 @@ const App = (props: React.PropsWithChildren) => {
       return null
     },
     getIdentity: async () => {
-      return data
-      /*
       if (data?.user) {
         const { user } = data
         return {
@@ -105,7 +103,6 @@ const App = (props: React.PropsWithChildren) => {
       }
 
       return null
-      */
     }
   }
 
@@ -127,20 +124,23 @@ const App = (props: React.PropsWithChildren) => {
               warnWhenUnsavedChanges: true,
               useNewQueryKeys: true
             }}
-            resources={[
-              {
-                name: 'fdo',
-                list: '/fdo',
-                show: '/fdo/show/:id',
-                create: '/fdo'
-              }, {
+            resources={[{
+              name: 'fdo',
+              list: '/fdo',
+              show: '/fdo/show/:id',
+              create: '/fdo'
+            }, {
                 name: 'repositories',
                 list: '/repositories',
                 show: '/repositories/show/:id'
               }, {
                 name: 'info',
                 show: '/info'
-              }]}
+              }, {
+              name: "profiles",
+              list: "/profiles",
+              show: "/profiles/show/:id"
+            }]}
           >
             {props.children}
             <RefineKbar />
@@ -149,7 +149,7 @@ const App = (props: React.PropsWithChildren) => {
         </RefineSnackbarProvider>
       </ColorModeContextProvider>
     </RefineKbarProvider>
-  </>
+  </>;
 }
 
 function MyApp ({
diff --git a/pages/profiles/index.tsx b/pages/profiles/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..3c4ca4938bf34ecd91b9c18b521a35c9904fd13d
--- /dev/null
+++ b/pages/profiles/index.tsx
@@ -0,0 +1,23 @@
+import React from 'react'
+import { GetServerSideProps } from 'next'
+import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
+
+import { ProfilesList } from '../../src/components/profiles'
+
+const ListProfiles = () => {
+  return <ProfilesList/>
+}
+
+export default ListProfiles
+
+export const getServerSideProps: GetServerSideProps<{}> = async (context) => {
+  const translateProps = await serverSideTranslations(context.locale ?? 'en', [
+    'common'
+  ])
+
+  return {
+    props: {
+      ...translateProps
+    }
+  }
+}
diff --git a/src/api/api.ts b/src/api/api.ts
index 3980d90a34e7ff67616bd7fcd6b31ff18ecfa3b3..cac6a40104b84a6ba5f1f84356d5c43745069cd1 100644
--- a/src/api/api.ts
+++ b/src/api/api.ts
@@ -1,3 +1,4 @@
+/* tslint:disable */
 /* eslint-disable */
 /**
  * FDO Manager Service API
@@ -127,6 +128,25 @@ export interface GetInfo200Response {
      */
     'links'?: Links;
 }
+/**
+ * 
+ * @export
+ * @interface GetProfile200Response
+ */
+export interface GetProfile200Response {
+    /**
+     * 
+     * @type {Profile}
+     * @memberof GetProfile200Response
+     */
+    'data': Profile;
+    /**
+     * 
+     * @type {Links}
+     * @memberof GetProfile200Response
+     */
+    'links'?: Links;
+}
 /**
  * 
  * @export
@@ -203,6 +223,25 @@ export interface Links {
      */
     'collection'?: string;
 }
+/**
+ * 
+ * @export
+ * @interface ListProfiles200Response
+ */
+export interface ListProfiles200Response {
+    /**
+     * 
+     * @type {Array<Profile>}
+     * @memberof ListProfiles200Response
+     */
+    'data'?: Array<Profile>;
+    /**
+     * 
+     * @type {Links}
+     * @memberof ListProfiles200Response
+     */
+    'links'?: Links;
+}
 /**
  * 
  * @export
@@ -260,6 +299,25 @@ export interface OverviewFdoCreate200Response {
      */
     'links'?: Links;
 }
+/**
+ * 
+ * @export
+ * @interface Profile
+ */
+export interface Profile {
+    /**
+     * 
+     * @type {string}
+     * @memberof Profile
+     */
+    'id'?: string;
+    /**
+     * 
+     * @type {Links}
+     * @memberof Profile
+     */
+    'links'?: Links;
+}
 /**
  * 
  * @export
@@ -364,14 +422,18 @@ export const DefaultApiAxiosParamCreator = function (configuration?: Configurati
          * 
          * @summary Create an FDO.
          * @param {TargetRepositories} repositories 
-         * @param {File} [data] 
-         * @param {File} [metadata] 
+         * @param {File} data 
+         * @param {File} metadata 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        createFDO: async (repositories: TargetRepositories, data?: File, metadata?: File, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
+        createFDO: async (repositories: TargetRepositories, data: File, metadata: File, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
             // verify required parameter 'repositories' is not null or undefined
             assertParamExists('createFDO', 'repositories', repositories)
+            // verify required parameter 'data' is not null or undefined
+            assertParamExists('createFDO', 'data', data)
+            // verify required parameter 'metadata' is not null or undefined
+            assertParamExists('createFDO', 'metadata', metadata)
             const localVarPath = `/fdo`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -809,12 +871,12 @@ export const DefaultApiFp = function(configuration?: Configuration) {
          * 
          * @summary Create an FDO.
          * @param {TargetRepositories} repositories 
-         * @param {File} [data] 
-         * @param {File} [metadata] 
+         * @param {File} data 
+         * @param {File} metadata 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async createFDO(repositories: TargetRepositories, data?: File, metadata?: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
+        async createFDO(repositories: TargetRepositories, data: File, metadata: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
             const localVarAxiosArgs = await localVarAxiosParamCreator.createFDO(repositories, data, metadata, options);
             const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
             const localVarOperationServerBasePath = operationServerMap['DefaultApi.createFDO']?.[localVarOperationServerIndex]?.url;
@@ -978,12 +1040,12 @@ export const DefaultApiFactory = function (configuration?: Configuration, basePa
          * 
          * @summary Create an FDO.
          * @param {TargetRepositories} repositories 
-         * @param {File} [data] 
-         * @param {File} [metadata] 
+         * @param {File} data 
+         * @param {File} metadata 
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        createFDO(repositories: TargetRepositories, data?: File, metadata?: File, options?: any): AxiosPromise<void> {
+        createFDO(repositories: TargetRepositories, data: File, metadata: File, options?: any): AxiosPromise<void> {
             return localVarFp.createFDO(repositories, data, metadata, options).then((request) => request(axios, basePath));
         },
         /**
@@ -1111,13 +1173,13 @@ export class DefaultApi extends BaseAPI {
      * 
      * @summary Create an FDO.
      * @param {TargetRepositories} repositories 
-     * @param {File} [data] 
-     * @param {File} [metadata] 
+     * @param {File} data 
+     * @param {File} metadata 
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @memberof DefaultApi
      */
-    public createFDO(repositories: TargetRepositories, data?: File, metadata?: File, options?: RawAxiosRequestConfig) {
+    public createFDO(repositories: TargetRepositories, data: File, metadata: File, options?: RawAxiosRequestConfig) {
         return DefaultApiFp(this.configuration).createFDO(repositories, data, metadata, options).then((request) => request(this.axios, this.basePath));
     }
 
@@ -1257,6 +1319,176 @@ export class DefaultApi extends BaseAPI {
 
 
 
+/**
+ * ProfilesApi - axios parameter creator
+ * @export
+ */
+export const ProfilesApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary Get information on a single profile.
+         * @param {string} profileId Profile ID
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        getProfile: async (profileId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'profileId' is not null or undefined
+            assertParamExists('getProfile', 'profileId', profileId)
+            const localVarPath = `/profiles/{profileId}`
+                .replace(`{${"profileId"}}`, encodeURIComponent(String(profileId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+
+    
+            setSearchParams(localVarUrlObj, localVarQueryParameter);
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: toPathString(localVarUrlObj),
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary List known profiles.
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        listProfiles: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/profiles`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+
+            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+
+    
+            setSearchParams(localVarUrlObj, localVarQueryParameter);
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: toPathString(localVarUrlObj),
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * ProfilesApi - functional programming interface
+ * @export
+ */
+export const ProfilesApiFp = function(configuration?: Configuration) {
+    const localVarAxiosParamCreator = ProfilesApiAxiosParamCreator(configuration)
+    return {
+        /**
+         * 
+         * @summary Get information on a single profile.
+         * @param {string} profileId Profile ID
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async getProfile(profileId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetProfile200Response>> {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.getProfile(profileId, options);
+            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+            const localVarOperationServerBasePath = operationServerMap['ProfilesApi.getProfile']?.[localVarOperationServerIndex]?.url;
+            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+        },
+        /**
+         * 
+         * @summary List known profiles.
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async listProfiles(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListProfiles200Response>> {
+            const localVarAxiosArgs = await localVarAxiosParamCreator.listProfiles(options);
+            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
+            const localVarOperationServerBasePath = operationServerMap['ProfilesApi.listProfiles']?.[localVarOperationServerIndex]?.url;
+            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
+        },
+    }
+};
+
+/**
+ * ProfilesApi - factory interface
+ * @export
+ */
+export const ProfilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    const localVarFp = ProfilesApiFp(configuration)
+    return {
+        /**
+         * 
+         * @summary Get information on a single profile.
+         * @param {string} profileId Profile ID
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        getProfile(profileId: string, options?: any): AxiosPromise<GetProfile200Response> {
+            return localVarFp.getProfile(profileId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary List known profiles.
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        listProfiles(options?: any): AxiosPromise<ListProfiles200Response> {
+            return localVarFp.listProfiles(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * ProfilesApi - object-oriented interface
+ * @export
+ * @class ProfilesApi
+ * @extends {BaseAPI}
+ */
+export class ProfilesApi extends BaseAPI {
+    /**
+     * 
+     * @summary Get information on a single profile.
+     * @param {string} profileId Profile ID
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ProfilesApi
+     */
+    public getProfile(profileId: string, options?: RawAxiosRequestConfig) {
+        return ProfilesApiFp(this.configuration).getProfile(profileId, options).then((request) => request(this.axios, this.basePath));
+    }
+
+    /**
+     * 
+     * @summary List known profiles.
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ProfilesApi
+     */
+    public listProfiles(options?: RawAxiosRequestConfig) {
+        return ProfilesApiFp(this.configuration).listProfiles(options).then((request) => request(this.axios, this.basePath));
+    }
+}
+
+
+
 /**
  * RepositoriesApi - axios parameter creator
  * @export
diff --git a/src/api/base.ts b/src/api/base.ts
index 89b54ab09df447064fb08782c996cf380d5835ac..78b555a5bbdea94f2117d09ff016d5d2c12e9cfe 100644
--- a/src/api/base.ts
+++ b/src/api/base.ts
@@ -1,3 +1,4 @@
+/* tslint:disable */
 /* eslint-disable */
 /**
  * FDO Manager Service API
diff --git a/src/api/common.ts b/src/api/common.ts
index 9b2273c98700ebe566ff37920e98183099468bce..e97d5bff68a02511621c8f102eb9371944ccf99c 100644
--- a/src/api/common.ts
+++ b/src/api/common.ts
@@ -1,3 +1,4 @@
+/* tslint:disable */
 /* eslint-disable */
 /**
  * FDO Manager Service API
diff --git a/src/api/configuration.ts b/src/api/configuration.ts
index e8efb77751fdb2719a59de13b2ab7a78437280bf..cc56d0239aa38c10cee9f1a074c1ad27514f82f6 100644
--- a/src/api/configuration.ts
+++ b/src/api/configuration.ts
@@ -1,3 +1,4 @@
+/* tslint:disable */
 /* eslint-disable */
 /**
  * FDO Manager Service API
diff --git a/src/api/index.ts b/src/api/index.ts
index 10f56534ef2c21414b7312c81a28f62f8e6bab6f..4e2f60d5034ada947d9aacb2ea429638c108c8d6 100644
--- a/src/api/index.ts
+++ b/src/api/index.ts
@@ -1,3 +1,4 @@
+/* tslint:disable */
 /* eslint-disable */
 /**
  * FDO Manager Service API
diff --git a/src/components/fdos/create.tsx b/src/components/fdos/create.tsx
index f49c900c935140179ce573c87ba1a1c695d62c70..17be4c932e492ecbfc51ed9bc63fb245c4169fa0 100644
--- a/src/components/fdos/create.tsx
+++ b/src/components/fdos/create.tsx
@@ -3,6 +3,8 @@ import { useGetIdentity } from "@refinedev/core";
 import { Create, SaveButton } from '@refinedev/mui'
 import { useTheme, styled } from '@mui/material/styles'
 
+import Skeleton from '@mui/material/Skeleton';
+import Stack from '@mui/material/Stack';
 import Box from '@mui/material/Box'
 import TextField from '@mui/material/TextField'
 import InputLabel from '@mui/material/InputLabel'
@@ -24,19 +26,46 @@ import { useStepsForm } from '@refinedev/react-hook-form'
 
 import { Controller } from 'react-hook-form'
 
-import IRepository from '../../interfaces/IRepository'
+import { IRepository, IProfile } from '../../interfaces'
 import { RepositoriesList } from '../repositories'
 
-const stepTitles = ['Repository', 'Metadata', 'Data']
+const stepTitles = ['Profile & Repository', 'Metadata', 'Data']
 
 const StepRepository: React.FC<any> = ({ control, register, errors }) => {
-  const { data, isLoading, isError } = useList<IRepository, HttpError>({
+  const repositoryList = useList<IRepository, HttpError>({
     resource: 'repositories'
   })
-  if (isLoading) {
+  const profileList = useList<IProfile, HttpError>({
+    resource: 'profiles'
+  })
+  if (profileList.isLoading && repositoryList.isLoading) {
     return <CircularProgress/>
   }
+
   return (
+    <>
+    <FormControl fullWidth>
+      <InputLabel id="profile-select-label">Profile</InputLabel>
+        <Controller control={control}
+          rules={{ required: 'This field is required' }}
+          name="profile"
+          render={({ field }) => {
+            return (
+              profileList.isLoading ?
+              <Skeleton><Select></Select></Skeleton> :
+              <Select
+                {...field}
+                error={!!errors.profile}
+                labelId="profile-select-label"
+                id="profile-select"
+                label="Profile"
+              >
+                { profileList.data?.data?.map((item, idx) => <MenuItem key={idx} value={item.id}>{item.id}</MenuItem>)}
+              </Select>
+            )
+          }}/>
+      <FormHelperText>{errors.profile?.message}</FormHelperText>
+    </FormControl>
     <FormControl fullWidth>
       <InputLabel id="repository-select-label">Repository</InputLabel>
         <Controller control={control}
@@ -44,6 +73,8 @@ const StepRepository: React.FC<any> = ({ control, register, errors }) => {
           name="repository"
           render={({ field }) => {
             return (
+              repositoryList.isLoading ?
+              <Skeleton><Select></Select></Skeleton> :
               <Select
                 {...field}
                 error={!!errors.repository}
@@ -51,13 +82,13 @@ const StepRepository: React.FC<any> = ({ control, register, errors }) => {
                 id="repository-select"
                 label="Repository"
               >
-                { data?.data?.map((item, idx) => <MenuItem key={idx} value={item.id}>{item.id}</MenuItem>)}
+                { repositoryList.data?.data?.map((item, idx) => <MenuItem key={idx} value={item.id}>{item.id}</MenuItem>)}
               </Select>
-
             )
           }}/>
       <FormHelperText>{errors.repository?.message}</FormHelperText>
     </FormControl>
+    </>
   )
 }
 
@@ -111,10 +142,10 @@ const StepData: React.FC<any> = ({ register, errors }) => {
 
 export const FdoCreate: React.FC<IResourceComponentsProps> = () => {
   const identity = useGetIdentity()
-  const access_token = identity.data?.account?.access_token;
+  const access_token = identity.data?.data?.account?.access_token
 
   console.log('access_token: ', access_token)
-  const formRet = useStepsForm<IRepository, HttpError, any>({ defaultValues: { repository: '' }, refineCoreProps: { meta: { headers: { "Authentication" : `Bearer: ${access_token}` }}}});
+  const formRet = useStepsForm<IRepository, HttpError, any>({ defaultValues: { repository: '', profile: '' }, refineCoreProps: { meta: { headers: { "Authentication" : `Bearer ${access_token}` }}}})
   console.log('formRet', formRet)
   const {
     saveButtonProps,
@@ -196,6 +227,7 @@ export const FdoCreate: React.FC<IResourceComponentsProps> = () => {
         sx={{ display: 'flex', flexDirection: 'column' }}
         autoComplete="off"
       >
+        <Stack spacing={4}>
         <Stepper
           nonLinear
           activeStep={currentStep}
@@ -207,8 +239,8 @@ export const FdoCreate: React.FC<IResourceComponentsProps> = () => {
             </Step>
           ))}
         </Stepper>
-        <br />
         {renderFormByStep(currentStep)}
+        </Stack>
       </Box>
     </Create>
   )
diff --git a/src/components/profiles/IProfile.tsx b/src/components/profiles/IProfile.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..8a72bc76471c943de4441fd4cc94b8920497843d
--- /dev/null
+++ b/src/components/profiles/IProfile.tsx
@@ -0,0 +1,5 @@
+interface IProfile = {
+  id: string
+}
+
+export default IProfile
diff --git a/src/components/profiles/index.ts b/src/components/profiles/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..36a92846e2d7c427fc6d9ba205a29ccb7c113231
--- /dev/null
+++ b/src/components/profiles/index.ts
@@ -0,0 +1,2 @@
+export * from "./list";
+export * from "./show";
diff --git a/src/components/profiles/list.tsx b/src/components/profiles/list.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..0b121cf8707905cd50cd18c9ecdcdc3defe7d7e0
--- /dev/null
+++ b/src/components/profiles/list.tsx
@@ -0,0 +1,34 @@
+import { IResourceComponentsProps } from '@refinedev/core'
+import Link from '@mui/material/Link';
+
+import { List, useDataGrid } from '@refinedev/mui'
+
+import {
+  DataGrid,
+  GridColDef,
+  GridValueFormatterParams
+} from '@mui/x-data-grid'
+
+import IProfile from '../../interfaces/IProfile'
+
+const columns: Array<GridColDef<IProfile>> = [
+  {
+    field: 'id',
+    headerName: 'ID',
+    type: 'string',
+    width: 200,
+    renderCell: (params) => {
+      return <Link href={'./profiles/' + params.value}>{params.value}</Link>
+    }
+  }
+]
+
+export const ProfilesList: React.FC<IResourceComponentsProps> = () => {
+  const { dataGridProps } = useDataGrid<IProfile>()
+
+  return (
+    <List>
+      <DataGrid {...dataGridProps} columns={columns} autoHeight />
+    </List>
+  )
+}
diff --git a/src/components/profiles/show.tsx b/src/components/profiles/show.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..bc81ae0c654dbf676aa33a938799eb3ff454ddb4
--- /dev/null
+++ b/src/components/profiles/show.tsx
@@ -0,0 +1,6 @@
+import { IResourceComponentsProps } from "@refinedev/core";
+import { MuiInferencer } from "@refinedev/inferencer/mui";
+
+export const ProfilesShow: React.FC<IResourceComponentsProps> = () => {
+    return <MuiInferencer />;
+};
diff --git a/src/components/repositories/list.tsx b/src/components/repositories/list.tsx
index 035c92a5401705210a1063da8d1b8939cdafa715..dece502e381170cd7634b68c506d6d8870cdb437 100644
--- a/src/components/repositories/list.tsx
+++ b/src/components/repositories/list.tsx
@@ -1,5 +1,5 @@
 import { IResourceComponentsProps } from '@refinedev/core'
-import { MuiInferencer } from '@refinedev/inferencer/mui'
+import Link from '@mui/material/Link';
 
 import { List, useDataGrid } from '@refinedev/mui'
 
@@ -18,7 +18,7 @@ const columns: Array<GridColDef<IRepository>> = [
     type: 'string',
     width: 200,
     renderCell: (params) => {
-      return <a href={'./repositories/' + params.value}>{params.value}</a>
+      return <Link href={'./repositories/' + params.value}>{params.value}</Link>
     }
   }
 ]
diff --git a/src/interfaces/IRepository.tsx b/src/interfaces/IRepository.tsx
index f6f89b5e4b3c44fbae9a96c6641d90a1025bddb4..8de99e8eca2b8cc88a055dbbab3b8494660cce2c 100644
--- a/src/interfaces/IRepository.tsx
+++ b/src/interfaces/IRepository.tsx
@@ -1,4 +1,4 @@
-type IRepository = {
+interface IRepository = {
   id: string
 }
 
diff --git a/src/interfaces/index.d.ts b/src/interfaces/index.d.ts
index a82b9995989cf37a72e015096843c14cc1ce3fb6..13cd313b27646bb37f62e1917df9df654e988daf 100644
--- a/src/interfaces/index.d.ts
+++ b/src/interfaces/index.d.ts
@@ -1 +1,2 @@
 export * from './IRepository'
+export * form './IProfile
diff --git a/src/providers/dataProvider.tsx b/src/providers/dataProvider.tsx
index eaaa02f33dba4c4d98fdb5d13f46ae5f02d70445..4c1eba3d105a38561d9d4d8714b152660412259f 100644
--- a/src/providers/dataProvider.tsx
+++ b/src/providers/dataProvider.tsx
@@ -1,6 +1,6 @@
 import { DataProvider, useOne } from '@refinedev/core'
 import dataProvider from '@refinedev/simple-rest'
-import { Configuration, RepositoriesApi, DefaultApi, GetInfo200Response, ListRepositories200Response } from '../api'
+import { Configuration, ProfilesApi, RepositoriesApi, DefaultApi, GetInfo200Response, ListRepositories200Response } from '../api'
 import axios from 'axios'
 
 const getNewlyCreated = async (newLocation: string) => {
@@ -11,10 +11,15 @@ const apiDataProvider = (apiUrl: string): DataProvider => {
   const config: Configuration = new Configuration({ basePath: apiUrl })
   const apiResources: any = {
     default: new DefaultApi(config),
+    profiles: new ProfilesApi(config),
     repositories: new RepositoriesApi(config)
   }
 
   const apiOperations: any = {
+    profiles: {
+      list: apiResources.profiles.listProfiles,
+      get: apiResources.profiles.getProfile
+    },
     repositories: {
       list: apiResources.repositories.listRepositories,
       get: apiResources.repositories.getRepository
@@ -48,18 +53,14 @@ const apiDataProvider = (apiUrl: string): DataProvider => {
 
   return {
     getOne: async ({ resource, id, meta }) => {
-      console.log('getOne', resource, id, meta)
       const data = await callOperation(resource, 'get', { id, meta })
       return { data: data.data }
     },
     create: async ({ resource, variables, meta }) => {
-      console.log('create', resource, variables, meta)
       const response = await callOperation(resource, 'create', { variables, meta })
       if (response.status === 201) {
         const newLocation = response.headers.location
-        console.log('newLocation', newLocation)
         const newData = await getNewlyCreated(newLocation)
-        console.log('newData', newData)
         return { data: newData.data.data }
       } else {
         throw new Error('Create with anything else than 201 not implemented.')
@@ -72,7 +73,6 @@ const apiDataProvider = (apiUrl: string): DataProvider => {
       throw new Error('Not implemented')
     },
     getList: async ({ resource, pagination, sorters, filters, meta }) => {
-      console.log('getList', resource, meta)
       const data = (await callOperation(resource, 'list', { pagination, sorters, filters, meta })).data
       return { data, total: data.length }
     },