this commit does quite a bit as it adds a not found html template and it reorganized the code entirely by splitting stuff into modules.