Slim update! implementation, arrange API fns