improve run player method