got the key-value mapping working.  it can still be optimized, and it needs streams added