finish read part function