wip wip wip making new_procedure take rooted arguments