add full support of the requirejs api