add proc logic