add update_from_api method