improved for data acquisiton