reconstruct basic framework day2#3