moved many things out to utility and common