updated handling of list argument
updated object constructor