modify by step