players play function rewrite