add registry pattern