some more work in UI framework