various massive changes