clean up to support both 1 and 2 args