input for keys can be any object not just array