neatened up __init__