restruct get_state