add bus and address options and separate option parsing from handling