copies from boiler.js repo