refactor to use portfolio service