add repository interface
partial repository implementation