more progress on swapUpCompWorks; compromise on vector composition