refactor UI parts, not finished