some typedefmagic