should only relay to data path