updated __init__