fixed user state so now it always uses the cached ones as well to determine state