more space saving, better text center algo, and caution to not overflow text