a little change for retain states