added base classes for working with network