add stack implement