Implemented optional pipes
corrected some visibility in callable