registration - sync with upstream