add a little more flexibility in terms of reading keys different sources