implementing player