user arrays rather than lists