fixed ui & edit function