Pushed first draft of a clean architecture