Restored original project structure with tests