add back ajax, add loading indicator when fetching, add error handler to reload page, closes #23