implements many ui