slight styling change, added cacheing and added 404 for error state