creation of the whole thing