TODO: add discovery and ui todo