restructured internal DS to UI obj