some improvements to text fields, and other GUI stuff