First commit - Domain and Infrastructure layers