on the way to generalizing an internet class