prevent duplicate register
complete the doc