update to support arrays