first draft with normal extraction