Reorganize source-code, add headers.