added types to vector to enforce size equality