remove old function
refactor
fix comments
refactor
support offset
refactor
Merge branch 'develop'