Add update functionality and switch to using requests