reimplement list to accept unlimited number of parameters
implement list-sort