refactor offers to be able to combine them