add vector utility methods and tests