created collector.py as client + some moderate model changes