Made a big refactoring: wrap the whole function into an AMD (require.js). Devidet the functions in extra modules. They work fine together, but have got the problem that has() and is() will not go into global when assert is loaded, this should they do. its useless, when i have to load has or is next to assert, thats boring