prototype: add Connection class
prototype: use Connection class