restructured source file tree