work in progress. ui functional