useless parens
add weakmap dependency
added weakmap