add alternative stack implement with list structure