refactor gilded rose