extended component chooser