added stack feature