added stack interface