Added the ability to be generic; no longer depends on hardcoded keys