no need to invalidate after changePlayerPosition