done until point 4.