add proc_sub()