register shares
refactor