Add validation and cache support. Changed some stuff with how 404 and errors are handled. Also renamed a file.