Some refactor and added UniversalNetwork class