Restructured to domainish pattern.