patched up flawed __init__ parameter checks