refine headfirst