modified the __init__ s