Rearrange to better handle various user states