adding loading and better messages