Class diagram, header and first draft of a few functions.