offline support after refactor