API utils, updated update logic