broke player out into multiple classes