Rebuild project Added modern packaging process. Rewrote code to be executable as a module, more readable, and more maintainable.