finish demo3