public function getServiceConfig()
 {
     return array('factories' => array('FrontUsers\\Models\\FrontUsersModel' => function ($sm) {
         $model_users = new FrontUsersModel();
         return $model_users;
     }, "FrontUsers\\Models\\FrontUserRolesAdminModel" => function ($sm) {
         $model_user_roles_admin = new FrontUserRolesAdminModel();
         return $model_user_roles_admin;
     }, "FrontUsers\\Models\\FrontUsersRolesAclLinksModel" => function ($sm) {
         $model_roles_acl_links = new FrontUsersRolesAclLinksModel();
         return $model_roles_acl_links;
     }, "FrontUsers\\Models\\FrontUsersTasksModel" => function ($sm) {
         $model_users_tasks = new FrontUsersTasksModel();
         return $model_users_tasks;
     }, 'FrontUsers\\Storage\\UserFileSystemStorage' => function ($sm) {
         $model_user_storage = new UserFileSystemStorage();
         //set path @TODO read from config
         $model_user_storage->setPath("./data/user_storage");
         return $model_user_storage;
     }, 'FrontUsers\\Storage\\UserMySqlStorage' => function ($sm) {
         $model_user_storage = new UserMySqlStorage();
         return $model_user_storage;
     }, 'FrontUsers\\Models\\FrontUsersAclRulesModel' => function ($sm) {
         $model = new FrontUsersAclRulesModel();
         return $model;
     }, 'FrontUsers\\Entities\\FrontUserEntity' => function ($sm) {
         $entity_user = new FrontUserEntity();
         //load crypto
         $objCrypto = $sm->get("FrontCore\\Models\\Security\\CryptoModel");
         $entity_user->setCrypto($objCrypto);
         return $entity_user;
     }, "FrontUsers\\Entities\\FrontUserRoleAclLinkEntity" => function ($sm) {
         $entity_role_acl_link = new FrontUserRoleAclLinkEntity();
         return $entity_role_acl_link;
     }, "FrontUsers\\Entities\\FrontUserRoleAdminEntity" => function ($sm) {
         $entity_role_admin = new FrontUserRoleAdminEntity();
         return $entity_role_admin;
     }, "FrontUsers\\Entities\\FrontUsersUserTaskEntity" => function ($sm) {
         $entity_user_task = new FrontUsersUserTaskEntity();
         return $entity_user_task;
     }, "FrontUsers\\Entities\\FrontUserStandardRoleEntity" => function ($sm) {
         $entity_standard_roles = new FrontUserStandardRoleEntity();
         return $entity_standard_roles;
     }, 'FrontUsers\\Entities\\FrontUserSettingsEntity' => function ($sm) {
         $entity_user_settings = new FrontUserSettingsEntity();
         return $entity_user_settings;
     }, 'FrontUsers\\Entities\\FrontUserNativePreferencesEntity' => function ($sm) {
         $entity = new FrontUserNativePreferencesEntity();
         return $entity;
     }, 'FrontUsers\\Entities\\FrontUserCacheSettingsEntity' => function ($sm) {
         $entity = new FrontUserCacheSettingsEntity();
         return $entity;
     }, 'FrontUsers\\Tables\\UsersTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UsersTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UsersTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserSettingsTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserSettingsTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserSettingsTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserPreferencesTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserPreferencesTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserPreferencesTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserNativePreferencesTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserNativePreferencesEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserNativePreferencesTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserNativePreferencesTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Tables\\UserCacheSettingsTable' => function ($sm) {
         $adapter = $sm->get("db_frontend");
         //setup result set to return contacts as a contact entity object
         $resultSetPrototype = new ResultSet();
         $entity = $sm->get('FrontUsers\\Entities\\FrontUserCacheSettingsEntity');
         $resultSetPrototype->setArrayObjectPrototype($entity);
         $tableGateway = new TableGateway(\FrontUsers\Tables\UserCacheSettingsTable::$tableName, $adapter, NULL, $resultSetPrototype);
         $table = new UserCacheSettingsTable($tableGateway);
         return $table;
     }, 'FrontUsers\\Events\\FrontUsersEvents' => function ($sm) {
         $events_frontusers = new FrontUsersEvents();
         return $events_frontusers;
     }), "shared" => array("FrontUsers\\Entities\\FrontUserEntity" => FALSE, "FrontUsers\\Entities\\FrontUserSettingsEntity" => FALSE, "FrontUsers\\Entities\\FrontUserRoleAclLinkEntity" => FALSE, "FrontUsers\\Entities\\FrontUserRoleAdminEntity" => FALSE, "FrontUsers\\Entities\\FrontUsersUserTaskEntity" => FALSE, "FrontUsers\\Entities\\FrontUserStandardRoleEntity" => FALSE, 'FrontUsers\\Entities\\FrontUserNativePreferencesEntity' => FALSE, 'FrontUsers\\Entities\\FrontUserCacheSettingsEntity' => FALSE));
 }