soapy: reorganize to remove numeric dict usage