setup + __init__