support linear or log