* use 0 as the default value of offset