improved UI and functionality