extract dissect function from protocol