PDF implementation