fix surf, add sift