add get_state api