added wrap function
added compose function
updated keys function
added pairs function
added invert function