Dynamic key naming

addresses #2150