Revamped state updating r2