enhanced TextField constructor