http://programmingpraxis.com/2009/04/10/anagrams/