final move, wrap up creation trickery in index.js