refine how I build this up