split player model and controller