move provider classes and interfaces into domain-specific directories