add step edit feature and fix some step manipulation bug