Update: Provided more error checking, made some statements more readable through refactoring as well as provided a "winner" field that allows for single cost winner checks