auto extract algorithm