added `fn` and `static` properties to extenders
added a bunch of jsdoc comments