added data catcher and initial versions