playerVO logic