better extent handling