Schreier Refinement Theorem