added memoize library
 merged