additional functions in datapipe (not yet finished)