add self-updating (hopefully) proto9905