refactor
add portfolio model