added registration pattern
merge
merge