refactored charge_row_spec