hole.c added