added __init__s