now we have 3 functional functions for puppet, i have to test it later if everything is working correctely