use requireJS to manage the codes