Revamped state updating r3