use floats for vectors (maps correctly onto internal structures)