create client.py
use metaclasses to add experiments
remove unnecessary __init__
fix import paths