keys can be passed directly, or via a path to a file