switch to using ordered dictionaries for system state