Rewrite simulation to make use of built-in Vector object rather than Triple