add portfolio functionality