rearranged the PersistSpec