now returns an associated array