major file restructure