Simplified and sorted using directives.