add more pipeline stuffs
modularize the whole system