3/1 imporved, 3/2 js file, 3/3 js file