added __init__ and self