Refactoring; JSDOC comments; restructering; completing.