repository generic and static