Updates to make this an NPM Module