add Function.c, Reference.c, Thread.c