collinear now accepts three or more arguments