rename params to Util.linear to prevent confusing caused by using x and y