add spin.js & implement loading indicator