umd pattern to support exports