more concise __init__