draft of ArrayStack