added pipe methods