exec should be a bit neater
keys should allow a-f characters