implement dual process