error handling, directory per page, etc