keep refactor strategy