typdefs instead of near empty bodies