refactored folder structuer