cleaned up ui, and funct calsl