refine construct