refactored asset pipline