KEYGENS AND PATCHES