atm it can result in weird stuff such as populate_procs being called multiple times
atm it can result in weird stuff such as populate_procs being called multiple times