ui components use config constructors