refactor itemLevel