update: repository vs model