refactor portfolio