accepts an hash of arguments/mass assigned