编写repository