should be final KeyRetrieve