added free-form array input