nearly finished threevector class