better rebasing