cleaned up directory structure with grouping