add procedure blocks