add setOffset, clearOffset abstract methods
retry