Simplified project structure and removed needless abstractions.