privatize getLedger method
substitute with LedgerMap type
hide ledger wantlist manipulation
privatize fields in ledger