work in progress, rewriting UI