refactor the code
fixe bug in product portfolio