1. Re-wrote hit method. Now like 80%less code and 100% test coverage for
hit combinations