refactor vendor