- use MutableMapping to make this more succinct, complete