array simulation