improved createNewTyoe