first and second block done(not adaptive)]