Big refactory, introduce DeanDefinition