added read microvolt, code cleanup and rearrange