Use dels idea of TG, improve more code.