update code & use requirejs