applying the generalized UMD template code - this doesn't change anything in this library but now we have a dependable unified way to cope with loading in multiple environments