add update functionality, add loading popup