added exceptions and more player logic.