added __init part