C framework