added player controller and abstracted player creation