My implementations from ProPuppet book examples