got widget building complete but its messy