portfolio framework

use this as the basis for the portfolio redesign