add flat.c