merged modular js branch and new updates