Separated out player as a module, shifted functions over