CommonJS approach