explode.js made more readable and split into multiple modules