fix: preserve directory structure