commonJS wrapper with falback