some UI adjustments and type hierarchy