code restoring part 2