user state
switch