Recursive procedures

Signed-off-by: Lysander <lysandergc@gmail.com>