switch to ordered dict