Separate into .c files