A repository implementation