add repository function