Repository implementation