Refactor whole program. Less code and much faster
Update tests. All tests are passing
Remove old dependencies
Minor changes
Use pmap instead of map