add loading gif
update, cleanup