use super() to call __init__