refactor frozen and weak status