completed most of my generic stack which uses arrayList