Support for Multiple Keys

Hey @czarneckid,

This is what I was thinking around multiple key support. It seems to be working well for me, but I don't know if you have any suggestions to clean up the code.