added pdf generation
refactored structure and build and added pdf generation