fleshing out design with some phase 2 functionality