Complete the implementation of internal and exported functions.
Prepare the Makefile.