Form refactor with steps