added tests, javascript, etc