initial work on text widgets