base source file prepared based on fork.c