change constructor arguments to array(hash)