ui updated and base functionality