some improvements.

How about these changes?