use <name>.create instead of <name>(), now can use length in browsers, minor fixes and more test