refactored file organization to match closer to final