add abstract interface for internet