refactored for intellij, changed up dealer logic a lot, still figuring out the overall design. added a bit of error checking