refactored most of the codebase
package.json
updated readme a bit