following requireJS guidelines