add loader, warning message, better ui