add loading spinner. fix #7