[repository] implement several functions