ui: UI stub, API + unit-test