implemented pipeline and added some spec