make compatible with requirejs