finished using __init__()