some ideas of cgautil module