organizing files so it can be installed via npm