refactor, add adjust_rect for sprites