uncommented stack implementation