refactored module structure and conventions