update the project layout and add pdf generator