re-order default type logic