added array based stack