adds builder.c to provide better modularity