added precision feature