implement support for spectating (needs testing)