Refactor and redesign domains

not meaningfull?!!