added web/js support