extract domain to hold common mixins